[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kolab-commits
Subject:    Branch 'production' - 3 commits - kolab.org/www
From:       Torsten Grote <grote () kolabsys ! com>
Date:       2014-01-23 16:29:24
Message-ID: 20140123162924.C23713EF1C6 () app01 ! kolabsys ! com
[Download RAW message or body]

--==============q45925686911999282=Content-Type: text/plain

 kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_devel/admin_devel.info  \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu-rtl.css     \
|   48  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.admin.js    \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.api.php     \
|  104  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.css         \
|   65  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.drush.inc   \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.inc         \
|  154  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.info        \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.install     \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.js          \
|  145  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.module      \
|  139  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module \
|   34  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.admin.inc         \
|   47  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.inc               \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.info              \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.install           \
|   58  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.module            \
|  193  kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.test              \
|   28  kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha-rtl.css \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.admin.inc \
|   21  kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.module \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.user.inc \
|   18  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/da.po        \
|  875  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/de.po        \
|  633  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/es.po        \
|  717  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fi.po        \
|  747  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fr.po        \
|  712  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/he.po        \
|  611  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/hu.po        \
|  635  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/id.po        \
|  698  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/it.po        \
|  502  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/lt.po        \
|  651  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/nl.po        \
|  658  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/pl.po        \
|  510  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk-ua.po     \
|  428  kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk.po        \
|  428  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/README.txt           \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.admin.inc \
|   56  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.api.php \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.css     \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.info    \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.install \
|   17  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.js      \
|   51  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.module  \
|  219  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.pages.inc \
|   93  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi_example/checklistapi_example.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/lib/Drupal/checklistapi/ChecklistapiChecklist.php \
|   67  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/templates/checklistapi-progress-bar.tpl.php \
|   22  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/checklistapi.test \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/modules/checklistapi_test/checklistapi_test.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/CHANGELOG.txt            \
|   20  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.api.php         \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.config.js       \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.info            \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.install         \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.module          \
|   47  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.styles.js       \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.inc \
|   19  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.drush.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.features.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.lib.inc \
|   23  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.page.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.user.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.utils.js \
|   21  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/filemanager.config.php \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/jqueryUI/sort.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/dialogs/uicolor.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/bg.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cs.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cy.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/da.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/de.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/el.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/en.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/eo.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/et.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fa.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fi.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fr.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/he.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/hr.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/it.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/mk.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nb.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nl.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/no.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/pl.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/tr.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/ug.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/uk.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/vi.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/zh-cn.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/plugin.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/drupalbreaks/plugin.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/imce/plugin.js   \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/media/plugin.js  \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/dialogs/mediaembed.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/plugin.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/API.txt                    \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/bulk_export/bulk_export.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/button.css             \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/dropbutton.css         \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.api.php             \
|   61  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.info                \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.install             \
|   26  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.module              \
|   95  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/plugins/content_types/no_context_content_type.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/drush/ctools.drush.inc     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins-implementing.html \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins.html          \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/action-links.theme.inc \
|   33  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.menu.inc  \
|   15  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.plugin-type.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context-task-handler.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context.inc       \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropbutton.theme.inc \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropdown.theme.inc \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/fields.inc        \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/plugins.inc       \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/auto-submit.js          \
|    9  kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dependent.js            \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dropbutton.js           \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/modal.js                \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.admin.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.api.php \
|   39  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.module \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/task_handlers/http_response.inc \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/comment_reply.inc \
|  162  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/term_view.inc \
|   72  kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/user_edit.inc \
|   15  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_bundle.inc \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_field_value.inc \
|   58  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/arguments/user_edit.inc \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/block/block.inc \
|   16  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/comment/comment_reply_form.inc \
|   50  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/form/entity_form_field.inc \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_context/node_title.inc \
|   49  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_form/node_form_language.inc \
|   41  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/page/page_actions.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/string.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/user_edit_form.inc \
|   25  kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/relationships/user_category_edit_form_from_user.inc \
|   31  kolab.org/www/drupal-7.18/sites/all/modules/ctools/stylizer/stylizer.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/context.test         \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_plugin_test.info \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression.test \
|  129  kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression_stack.test \
|   63  kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/relationships/view_from_argument.inc \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/views_content.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/CHANGELOG.txt                \
|   64  kolab.org/www/drupal-7.18/sites/all/modules/date/date.api.php                 \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/date/date.diff.inc                \
|   79  kolab.org/www/drupal-7.18/sites/all/modules/date/date.field.inc               \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/date/date.info                    \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/date/date.migrate.inc             \
|  200  kolab.org/www/drupal-7.18/sites/all/modules/date/date.module                  \
|   19  kolab.org/www/drupal-7.18/sites/all/modules/date/date.theme                   \
|   66  kolab.org/www/drupal-7.18/sites/all/modules/date/date_admin.inc               \
|    9  kolab.org/www/drupal-7.18/sites/all/modules/date/date_all_day/date_all_day.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.info       \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.module     \
|   73  kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_elements.inc \
|   23  kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_sql.inc    \
|   32  kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/date_context.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/plugins/date_context_date_condition.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/date/date_elements.inc            \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date.migrate.inc \
|  175  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.info \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.module \
|   12  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.test \
|   70  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.info \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.migrate.inc \
|   59  kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module \
|    3  kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/README.txt        \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.info   \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.module \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat_form.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.module \
|   25  kolab.org/www/drupal-7.18/sites/all/modules/date/date_tools/date_tools.info   \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/date_views.info   \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_argument_handler_simple.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler_simple.inc \
|   48  kolab.org/www/drupal-7.18/sites/all/modules/date/tests/date_migrate.test      \
 kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.test                           \
|   26  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_block/i18n_block.info   \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_contact/i18n_contact.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.api.php \
|   53  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.info   \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.module \
|  132  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_forum/i18n_forum.info   \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.inc      \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.module   \
|   39  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.pages.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_path/i18n_path.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_redirect/i18n_redirect.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_select/i18n_select.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.inc  \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.pages.inc \
|   17  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module \
|   26  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_translation/i18n_translation.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_user/i18n_user.info     \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_variable/i18n_variable.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/i18n/tests/i18n_test.info         \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.info                    \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.install                 \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.module                  \
|   90  kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.admin.inc           \
|    9  kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.page.inc            \
|   32  kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce.js                   \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce_extras.js            \
|   19  kolab.org/www/drupal-7.18/sites/all/modules/imce/tpl/imce-page.tpl.php        \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/CHANGELOG.txt       \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/LICENSE.txt         \
|  601  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.info  \
|   10  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.install \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.module \
|  173  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.js \
| 8316 ++++++++  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.min.js \
|   16  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.7/jquery.js \
| 9266 +++++++++  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.7/jquery.min.js \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.8/jquery.js \
| 9440 ++++++++++  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.8/jquery.min.js \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/jquery.js \
| 8374 --------  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/jquery.min.js \
|   16  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/misc/1.7/states.js \
|  423  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/misc/jquery.form.js \
|  810  kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/misc/jquery.form.min.js \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/CHANGELOG.txt         \
|   47  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/README.txt            \
|   12  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.admin.inc \
|   91  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.batch.inc \
|  114  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.drush.inc \
|   26  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.info      \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.install   \
|  109  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.module    \
| 1309 +  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.pages.inc \
|   83  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.redirect.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/linkchecker/linkchecker.test      \
|  282  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/LICENSE.txt     \
|  601  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/checkbox-checked.png \
|binary  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/checkbox-unchecked.png \
|binary  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/permission_select.css \
|   36  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/permission_select.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/permission_select.js \
|   50  kolab.org/www/drupal-7.18/sites/all/modules/permission_select/permission_select.module \
|  102  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.admin.inc             \
|   35  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.info                  \
|    9  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.install               \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.module                \
|   53  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.test                  \
|  119  kolab.org/www/drupal-7.18/sites/all/modules/piwik/piwik.variable.inc          \
|   48  kolab.org/www/drupal-7.18/sites/all/modules/seo_checklist/seo_checklist.info  \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/seo_checklist/seo_checklist.install \
|  156  kolab.org/www/drupal-7.18/sites/all/modules/seo_checklist/seo_checklist.module \
|  316  kolab.org/www/drupal-7.18/sites/all/modules/seo_checklist/seo_checklist_intro_tab.tpl.php \
|   20  kolab.org/www/drupal-7.18/sites/all/modules/seo_checklist/volacci-logo.png    \
|binary  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/.gitignore    \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/css/overlay_fix.css \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/css/reset.css  \
|   36  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/socialshareprivacy.admin.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/socialshareprivacy.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/socialshareprivacy/socialshareprivacy.module \
|   48  kolab.org/www/drupal-7.18/sites/all/modules/token/tests/token_test.info       \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/token/token.drush.inc             \
|   22  kolab.org/www/drupal-7.18/sites/all/modules/token/token.info                  \
|   10  kolab.org/www/drupal-7.18/sites/all/modules/token/token.js                    \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/token/token.module                \
|   36  kolab.org/www/drupal-7.18/sites/all/modules/token/token.pages.inc             \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/token/token.test                  \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/token/token.tokens.inc            \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/variable/includes/menu.variable.inc \
|   20  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.form.inc        \
|   19  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.info            \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.module          \
|   46  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.variable.inc    \
|   16  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_admin/variable_admin.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.info \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.module \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.variable.inc \
|   73  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_example/variable_example.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.form.inc \
|   10  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.module \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.variable.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_store/variable_store.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_views/variable_views.info \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/views/css/views-admin.ctools.css  \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/views/handlers/views_handler_area_text.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/handlers/views_handler_field.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/views/handlers/views_handler_field_boolean.inc \
|   34  kolab.org/www/drupal-7.18/sites/all/modules/views/handlers/views_handler_filter_combine.inc \
|   51  kolab.org/www/drupal-7.18/sites/all/modules/views/handlers/views_handler_filter_numeric.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/includes/admin.inc          \
|   18  kolab.org/www/drupal-7.18/sites/all/modules/views/includes/base.inc           \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/views/includes/cache.inc          \
|   98  kolab.org/www/drupal-7.18/sites/all/modules/views/includes/handlers.inc       \
|    9  kolab.org/www/drupal-7.18/sites/all/modules/views/includes/view.inc           \
|   12  kolab.org/www/drupal-7.18/sites/all/modules/views/js/ajax_view.js             \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/js/views-admin.js           \
|    7  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/aggregator/views_handler_argument_aggregator_iid.inc \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/field.views.inc     \
|   78  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/node.views.inc      \
|   45  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/node/views_handler_field_node_revision.inc \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/node/views_handler_filter_node_access.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/search/views_handler_filter_search.inc \
|   30  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/taxonomy/views_handler_field_term_link_edit.inc \
|   23  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/taxonomy/views_plugin_argument_validate_taxonomy_term.inc \
|   13  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/tracker.views.inc   \
|  183  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/tracker/views_handler_argument_tracker_comment_user_uid.inc \
|   26  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/tracker/views_handler_filter_tracker_boolean_operator.inc \
|   31  kolab.org/www/drupal-7.18/sites/all/modules/views/modules/tracker/views_handler_filter_tracker_comment_user_uid.inc \
|   23  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/export_ui/views_ui.class.php \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_display.inc \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_display_feed.inc \
|    1  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_display_page.inc \
|   24  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_exposed_form.inc \
|   25  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_pager_mini.inc \
|   48  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_query_default.inc \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_style_grid.inc \
|   10  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_style_jump_menu.inc \
|   17  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_style_mapping.inc \
|  125  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_style_summary_jump_menu.inc \
|   17  kolab.org/www/drupal-7.18/sites/all/modules/views/plugins/views_plugin_style_table.inc \
|   11  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/field/views_fieldapi.test \
|   12  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/handlers/views_handler_field_boolean.test \
|   34  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/node/views_node_revision_relations.test \
|  177  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/styles/views_plugin_style.test \
|   16  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/styles/views_plugin_style_base.test \
|   33  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/styles/views_plugin_style_jump_menu.test \
|    8  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/styles/views_plugin_style_mapping.test \
|  144  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/styles/views_plugin_style_unformatted.test \
|   22  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/test_plugins/views_test_plugin_style_test_mapping.inc \
|   52  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/views_test.info       \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/views_test.module     \
|   56  kolab.org/www/drupal-7.18/sites/all/modules/views/tests/views_translatable.test \
|   23  kolab.org/www/drupal-7.18/sites/all/modules/views/theme/theme.inc             \
|   29  kolab.org/www/drupal-7.18/sites/all/modules/views/theme/views-view-grid.tpl.php \
|    4  kolab.org/www/drupal-7.18/sites/all/modules/views/theme/views-view-table.tpl.php \
|    5  kolab.org/www/drupal-7.18/sites/all/modules/views/theme/views-view-unformatted.tpl.php \
|    2  kolab.org/www/drupal-7.18/sites/all/modules/views/views.api.php               \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/views/views.info                  \
|   14  kolab.org/www/drupal-7.18/sites/all/modules/views/views.module                \
|   10  kolab.org/www/drupal-7.18/sites/all/modules/views/views_ui.info               \
|    6  kolab.org/www/drupal-7.18/sites/all/modules/views/views_ui.module             \
|    3  370 files changed, 36385 insertions(+), 20566 deletions(-)

New commits:
commit 4e2be8e55d919b5c1db3aad765792b44bf29ef3b
Author: Torsten Grote <grote@kolabsys.com>
Date:   Thu Jan 23 16:58:03 2014 +0100

    upgrade critical Token and Variable modules

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/tests/token_test.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/tests/token_test.info index \
                9c7d245..141ed5c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/tests/token_test.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/tests/token_test.info
@@ -5,9 +5,9 @@ core = 7.x
 files[] = token_test.module
 hidden = TRUE

-; Information added by drupal.org packaging script on 2012-09-12
-version = "7.x-1.3"
+; Information added by drupal.org packaging script on 2013-02-24
+version = "7.x-1.5"
 core = "7.x"
 project = "token"
-datestamp = "1347466790"
+datestamp = "1361665026"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.drush.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.drush.inc new file mode \
100644 index 0000000..fc32357
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.drush.inc
@@ -0,0 +1,22 @@
+<?php
+
+/**
+ * @file
+ * Drush integration for the Token module.
+ */
+
+/**
+ * Implements hook_drush_cache_clear().
+ */
+function token_drush_cache_clear(&$types) {
+  if (function_exists('module_exists') && module_exists('token')) {
+    $types['token'] = 'drush_token_cache_clear_token_info';
+  }
+}
+
+/**
+ * Clear caches internal to Token module.
+ */
+function drush_token_cache_clear_token_info() {
+  token_clear_cache();
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.info index 17a4b57..43fced1 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.info
@@ -1,15 +1,11 @@
 name = Token
 description = Provides a user interface for the Token API and some missing core \
tokens.  core = 7.x
-files[] = token.module
-files[] = token.install
-files[] = token.tokens.inc
-files[] = token.pages.inc
 files[] = token.test

-; Information added by drupal.org packaging script on 2012-09-12
-version = "7.x-1.3"
+; Information added by drupal.org packaging script on 2013-02-24
+version = "7.x-1.5"
 core = "7.x"
 project = "token"
-datestamp = "1347466790"
+datestamp = "1361665026"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.js index 88a75c1..98d1ac3 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.js
@@ -14,6 +14,12 @@ Drupal.behaviors.tokenDialog = {
     $('a.token-dialog', context).once('token-dialog').click(function() {
       var url = $(this).attr('href');
       var dialog = $('<div style="display: none" class="loading">' + \
Drupal.t('Loading token browser...') + '</div>').appendTo('body'); +
+      // Emulate the AJAX data sent normally so that we get the same theme.
+      var data = {};
+      data['ajax_page_state[theme]'] = Drupal.settings.ajaxPageState.theme;
+      data['ajax_page_state[theme_token]'] = \
Drupal.settings.ajaxPageState.theme_token; +
       dialog.dialog({
         title: $(this).attr('title') || Drupal.t('Available tokens'),
         width: 700,
@@ -24,7 +30,7 @@ Drupal.behaviors.tokenDialog = {
       // Load the token tree using AJAX.
       dialog.load(
         url,
-        {},
+        data,
         function (responseText, textStatus, XMLHttpRequest) {
           dialog.removeClass('loading');
         }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.module index \
                7bba8a7..88bcc60 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.module
@@ -78,6 +78,7 @@ function token_menu() {
     'access callback' => TRUE,
     'type' => MENU_CALLBACK,
     'file' => 'token.pages.inc',
+    'theme callback' => 'ajax_base_page_theme',
   );

   // Devel token pages.
@@ -265,7 +266,7 @@ function token_form_block_admin_configure_alter(&$form, \
$form_state) {  $form['settings']['title']['#description'] .= ' ' . t('This field \
supports tokens.');  // @todo Figure out why this token validation does not seem to \
be working here.  $form['settings']['title']['#element_validate'][] = \
                'token_element_validate';
-  $form['settings']['title']['#token_types'] = array();
+  $form['settings']['title'] += array('#token_types' => array());
 }

 /**
@@ -377,23 +378,26 @@ function token_clear_cache() {
  * @see token_entity_info_alter()
  * @see http://drupal.org/node/737726
  */
-function token_get_entity_mapping($value_type = 'token', $value = NULL) {
+function token_get_entity_mapping($value_type = 'token', $value = NULL, $fallback = \
FALSE) {  $mapping = &drupal_static(__FUNCTION__, array());

   if (empty($mapping)) {
     foreach (entity_get_info() as $entity_type => $info) {
       $mapping[$entity_type] = !empty($info['token type']) ? $info['token type'] : \
$entity_type;  }
+    // Allow modules to alter the mapping array.
+    drupal_alter('token_entity_mapping', $mapping);
   }

   if (!isset($value)) {
-    return $mapping;
+    return $value_type == 'token' ? array_flip($mapping) : $mapping;
   }
   elseif ($value_type == 'token') {
-    return array_search($value, $mapping);
+    $return = array_search($value, $mapping);
+    return $return !== FALSE ? $return : ($fallback ? $value : FALSE);
   }
   elseif ($value_type == 'entity') {
-    return isset($mapping[$value]) ? $mapping[$value] : FALSE;
+    return isset($mapping[$value]) ? $mapping[$value] : ($fallback ? $value : \
FALSE);  }
 }

@@ -739,24 +743,28 @@ function token_element_validate_token_context(&$element, \
                &$form_state) {
  * Implements hook_form_FORM_ID_alter().
  */
 function token_form_field_ui_field_edit_form_alter(&$form, $form_state) {
-  if (!isset($form['instance'])) {
+  if (!isset($form['instance']) || !empty($form['#field']['locked'])) {
     return;
   }

   if (($form['#field']['type'] == 'file' || $form['#field']['type'] == 'image') && \
isset($form['instance']['settings']['file_directory']) && \
                !module_exists('filefield_paths')) {
     // GAH! We can only support global tokens in the upload file directory path.
     $form['instance']['settings']['file_directory']['#element_validate'][] = \
                'token_element_validate';
-    $form['instance']['settings']['file_directory']['#token_types'] = array();
-    $form['instance']['settings']['token_tree'] = array(
-      '#theme' => 'token_tree',
-      '#token_types' => array(),
-      '#weight' => $form['instance']['settings']['file_directory']['#weight'] + 0.5,
-    );
+    $form['instance']['settings']['file_directory'] += array('#token_types' => \
                array());
     $form['instance']['settings']['file_directory']['#description'] .= ' ' . t('This \
field supports tokens.');  }

   // Note that the description is tokenized via token_field_widget_form_alter().
   $form['instance']['description']['#description'] .= '<br />' . t('This field \
supports tokens.'); +  $form['instance']['description']['#element_validate'][] = \
'token_element_validate'; +  $form['instance']['description'] += array('#token_types' \
=> array()); +
+  $form['instance']['settings']['token_tree'] = array(
+    '#theme' => 'token_tree',
+    '#token_types' => array(),
+    '#dialog' => TRUE,
+    '#weight' => $form['instance']['description']['#weight'] + 0.5,
+  );
 }

 /**
@@ -775,6 +783,7 @@ function token_form_system_actions_configure_alter(&$form, \
$form_state) {  $form['token_tree'] = array(
         '#theme' => 'token_tree',
         '#token_types' => 'all',
+        '#dialog' => TRUE,
         '#weight' => 100,
       );
       // @todo Add token validation to the action fields that can use tokens.
@@ -836,10 +845,11 @@ function token_form_user_admin_settings_alter(&$form, \
&$form_state) {  }

   // Add the token tree UI.
-  $form['token_tree'] = array(
+  $form['email']['token_tree'] = array(
     '#theme' => 'token_tree',
     '#token_types' => array('user'),
     '#show_restricted' => TRUE,
+    '#dialog' => TRUE,
     '#weight' => 90,
   );
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.pages.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.pages.inc index \
                4e281af..2341a9f 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.pages.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.pages.inc
@@ -56,8 +56,8 @@ function token_page_output_tree() {
   // a dialog.
   $options['dialog'] = FALSE;

-  $output = theme('token_tree', array($options));
-  print '<html><head><title></title>' . drupal_get_css() . drupal_get_js() . \
'</head>'; +  $output = theme('token_tree', $options);
+  print '<html><head>' . drupal_get_css() . drupal_get_js() . '</head>';
   print '<body class="token-tree">' . $output . '</body></html>';
   drupal_exit();
 }
@@ -231,7 +231,7 @@ function _token_clean_css_identifier($id) {
 /**
  * Menu callback; prints the available tokens and values for an object.
  */
-function token_devel_token_object($entity_type, $entity) {
+function token_devel_token_object($entity_type, $entity, $token_type = NULL) {
   $header = array(
     t('Token'),
     t('Value'),
@@ -243,7 +243,10 @@ function token_devel_token_object($entity_type, $entity) {
     'values' => TRUE,
     'data' => array($entity_type => $entity),
   );
-  $tree = token_build_tree($entity_type, $options);
+  if (!isset($token_type)) {
+    $token_type = $entity_type;
+  }
+  $tree = token_build_tree($token_type, $options);
   foreach ($tree as $token => $token_info) {
     if (!empty($token_info['restricted'])) {
       continue;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.test index b7e9582..59fa645 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.test
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.test
@@ -676,10 +676,12 @@ class TokenEntityTestCase extends TokenTestHelper {
     $this->assertIdentical(token_get_entity_mapping('token', 'term'), \
                'taxonomy_term');
     $this->assertIdentical(token_get_entity_mapping('token', 'vocabulary'), \
                'taxonomy_vocabulary');
     $this->assertIdentical(token_get_entity_mapping('token', 'invalid'), FALSE);
+    $this->assertIdentical(token_get_entity_mapping('token', 'invalid', TRUE), \
                'invalid');
     $this->assertIdentical(token_get_entity_mapping('entity', 'node'), 'node');
     $this->assertIdentical(token_get_entity_mapping('entity', 'taxonomy_term'), \
                'term');
     $this->assertIdentical(token_get_entity_mapping('entity', \
                'taxonomy_vocabulary'), 'vocabulary');
     $this->assertIdentical(token_get_entity_mapping('entity', 'invalid'), FALSE);
+    $this->assertIdentical(token_get_entity_mapping('entity', 'invalid', TRUE), \
'invalid');

     // Test that when we send the mis-matched entity type into token_replace()
     // that we still get the tokens replaced.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.tokens.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.tokens.inc index \
                3dc2d3b..e0c0b5e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/token/token.tokens.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/token/token.tokens.inc
@@ -80,7 +80,7 @@ function token_token_info_alter(&$info) {
   foreach ($date_format_types as $date_format_type => $date_format_type_info) {
     if (!isset($info['tokens']['date'][$date_format_type])) {
       $info['tokens']['date'][$date_format_type] = array(
-        'name' => $date_format_type_info['title'],
+        'name' => check_plain($date_format_type_info['title']),
         'description' => t("A date in '@type' format. (%date)", array('@type' => \
$date_format_type, '%date' => format_date(REQUEST_TIME, $date_format_type))),  \
'module' => 'token',  );
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/LICENSE.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/LICENSE.txt old mode 100644
new mode 100755
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/includes/menu.variable.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/includes/menu.variable.inc \
                index 444800e..c8dcfa2 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/includes/menu.variable.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/includes/menu.variable.inc
@@ -26,6 +26,26 @@ function menu_variable_info($options) {
     'description' => t('Select the source for the Secondary links.', array() , \
$options),  'group' => 'menu_settings'
   );
+  $variables['menu_parent_[node_type]'] = array(
+    'type' => 'multiple',
+    'title' => t('Menu parent'),
+    'repeat' => array(
+      'type' => 'select',
+      'options' => 'menu',
+    ),
+    'group' => 'menu_settings',
+    'description' => t('Select the menu parent', array(), $options),
+  );
+  $variables['menu_options_[node_type]'] = array(
+    'type' => 'multiple',
+    'title' => t('Menu options'),
+    'repeat' => array(
+      'type' => 'options',
+      'options' => 'menu',
+    ),
+    'description' => t('Select the available menus',array() , $options),
+    'group' => 'menu_settings',
+  );
   return $variables;
 }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.form.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.form.inc index \
                15c8043..08beeed 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.form.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.form.inc
@@ -154,14 +154,19 @@ function variable_form_element_options($variable, $options = \
array()) {  }

 /**
- * Implement validate callback
+ * Execute submit callbacks for variables in form.
  */
-function variable_form_element_validate($element, &$form_state, $form) {
-  $variable = $element['#variable'];
-  variable_include($variable);
-  $variable['value'] = isset($element['#value']) ? $element['#value'] : NULL;
-  if ($error = call_user_func($variable['validate callback'], $variable)) {
-    form_error($element, $error);
+function variable_form_submit_callback($form, &$form_state) {
+  if (isset($form['#variable_edit_form'])) {
+    // This may contain some realm options.
+    $options = isset($form['#variable_options']) ? $form['#variable_options'] : \
array(); +    foreach ($form['#variable_edit_form'] as $name) {
+      $variable = variable_get_info($name);
+      if ($variable && isset($variable['submit callback'])) {
+        variable_include($variable);
+        $variable['submit callback']($variable, $options, $form, $form_state);
+      }
+    }
   }
 }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.info index \
                7ab1e1e..ce3ca59 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.info
@@ -12,9 +12,9 @@ files[] = includes/taxonomy.variable.inc
 files[] = includes/translation.variable.inc
 files[] = includes/user.variable.inc
 files[] = variable.test
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.module index \
                781124f..472bba7 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.module
@@ -415,17 +415,36 @@ function variable_hook_info() {
  * Form for variable list
  *
  * @param $list
- *   Variable name or list of variable names
+ *   Variable name or list of variable names.
+ * @param $options
+ *   Optional array with variable options.
  */
-function variable_edit_form($form, $form_state, $list, $options = array()) {
-  // Pass on the values on the form for further reference.
-  $form['#variable_edit_form'] = $list;
-  module_load_include('form.inc', 'variable');
+function variable_edit_form($form, &$form_state, $list, $options = array()) {
+  $list = is_array($list) ? $list : array($list);
+  $form = variable_base_form($form, $form_state, $list, $options);
   $form += variable_edit_subform($list, $options);
   return variable_settings_form($form, $options);
 }

 /**
+ * Build base form for variable list without fields.
+ *
+ * @param $list
+ *   List of variable names.
+ * @param $options
+ *   Optional array with variable options.
+ */
+function variable_base_form($form, &$form_state, $list, $options = array()) {
+  form_load_include($form_state, 'form.inc', 'variable');
+  // Pass on the values on the form for further reference.
+  $form['#variable_edit_form'] = $list;
+  $form['#variable_options'] = $options;
+  // Run submit callback for variables in form.
+  $form['#submit'][] = 'variable_form_submit_callback';
+  return $form;
+}
+
+/**
  * Form elements for variable list.
  *
  * @param $list
@@ -682,7 +701,23 @@ function variable_form_alter(&$form, &$form_state, $form_id) {
   }
 }

+/**
+ * Implement validate callback.
+ *
+ * This needs to be in the module as it may be needed by form ajax callbacks.
+ */
+function variable_form_element_validate($element, &$form_state, $form) {
+  $options = isset($form['#variable_options']) ? $form['#variable_options'] : \
array(); +  $variable = $element['#variable'];
+  variable_include($variable);
+  $variable['value'] = isset($element['#value']) ? $element['#value'] : NULL;
+
+  $error = $variable['validate callback']($variable, $options, $element, $form, \
$form_state);

+  if ($error) {
+    form_error($element, $error);
+  }
+}

 /**
  * Implements hook_module_implements_alter().
@@ -765,6 +800,7 @@ function variable_settings_form_submit($form, &$form_state) {
   form_state_values_clean($form_state);
   // This may contain some realm options.
   $options = isset($form['#variable_options']) ? $form['#variable_options'] : \
array(); +
   // Now run regular settings submission but using variable_set_value()
   foreach ($form_state['values'] as $key => $value) {
     if (is_array($value) && isset($form_state['values']['array_filter'])) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.variable.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.variable.inc index \
                0ab3331..d03679e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.variable.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable.variable.inc
@@ -93,6 +93,7 @@ function variable_variable_type_info() {
     'element' => array('#type' => 'textfield', '#size' => 15, '#maxlength' => 10),
     'token' => TRUE,
     'validate callback' => 'variable_validate_number',
+    'format callback' => 'variable_format_number',
   );
   // Select multiple options from multiple choices
   $type['options'] = array(
@@ -275,6 +276,21 @@ function variable_format_empty($variable) {
 }

 /**
+ * Format variable as number.
+ */
+function variable_format_number($variable, $options = array()) {
+  if (is_numeric($variable['value'])) {
+    return (string)$variable['value'];
+  }
+  elseif (empty($variable['value'])) {
+    return '';
+  }
+  else {
+    return check_plain($variable['value']);
+  }
+}
+
+/**
  * Format variable as string. Either check plain for filter_xss.
  */
 function variable_format_string($variable, $options = array()) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_admin/variable_admin.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_admin/variable_admin.info
 index 7b78612..b13dbe7 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_admin/variable_admin.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_admin/variable_admin.info
 @@ -3,9 +3,9 @@ description = Variable Administration UI
 dependencies[] = variable
 package = Variable
 core = 7.x
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.info
 deleted file mode 100644
index d9ee706..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.info
                
+++ /dev/null
@@ -1,11 +0,0 @@
-name = Variable advanced
-description = Provides access to advanced low level variables. By using this you \
                will be able to break your site badly.
-dependencies[] = variable
-package = Variable
-core = 7.x
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
-core = "7.x"
-project = "variable"
-datestamp = "1358075138"
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.module
 deleted file mode 100644
index 1ec1275..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.module
                
+++ /dev/null
@@ -1,5 +0,0 @@
-<?php
-/**
- * @file
- * Drupal module - Advanced variable otpions.
- */
\ No newline at end of file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.variable.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.variable.inc
 deleted file mode 100644
index 5bd408e..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_advanced/variable_advanced.variable.inc
                
+++ /dev/null
@@ -1,73 +0,0 @@
-<?php
-/**
- * @file
- * Advanced variables.
- */
-
-/**
- * Implements hook_variable_group_info().
- */
-function variable_advanced_variable_group_info() {
-  $groups['advanced'] = array(
-    'title' => t('Advanced options'),
-    'description' => t('Advanced settings not usually exposed. Changing these \
                variables may seriously break your site so make sure you know what \
                you do.'),
-  );
-  return $groups;
-}
-
-/**
- * Implements hook_variable_info().
- */
-function variable_advanced_variable_info($options) {
-  // Bootstrap caching options
-  $variables['page_cache_invoke_hooks'] = array(
-    'title' => t('Cache invoke hooks'),
-    'type' => 'enable',
-    'default' => 1,
-    'group' => 'advanced',
-    'description' => T('Invoke <em>boot</em> and <em>exit</em> hooks when the page \
                is served from cache.'),
-  );
-  $variables['actions_max_stack'] = array(
-    'title' => t('Actions recursion level'),
-    'type' => 'number',
-    'default' => 35,
-    'group' => 'advanced',
-    'description' => t('Maximum recursion level for actions before the execution is \
                aborted.', array(), $options),
-  );
-  // Bootstrap language variables.
-  $variables['language_count'] = array(
-    'title' => t('Language count'),
-    'type' => 'number',
-    'default' => 1,
-    'group' => 'advanced',
-    'description' => t('Number of enabled languages, used for quick bootstrap. Not \
                to be changed manually.', array(), $options),
-  );
-  $variables['language_types'] = array(
-    'title' => t('Language types'),
-    'type' => 'array',
-    'default callback' => 'drupal_language_types',
-    'group' => 'advanced',
-    'description' => t('Available language types.'),
-  );
-  // Bootstrap proxy configuration
-  $variables['reverse_proxy'] = array(
-    'title' => t('Reverse proxy'),
-    'type' => 'enable',
-    'default' => 0,
-    'group' => 'advanced',
-    'description' => t('If Drupal is behind a reverse proxy, we use the \
X-Forwarded-For header instead of $_SERVER[\'REMOTE_ADDR\'], which would be the IP \
address of the proxy server, and not the client\'s. The actual header name can be \
                configured by the reverse_proxy_header variable.', array(), \
                $options),
-  );
-  $variables['reverse_proxy_header'] = array(
-    'title' => t('Reverse proxy header'),
-    'default' => 'HTTP_X_FORWARDED_FOR',
-    'group' => 'advanced',
-  );
-  $variables['reverse_proxy_addresses'] = array(
-    'title' => t('Reverse proxy addresses'),
-    'type' => 'array',
-    'group' => 'advanced',
-    'default' => array(),
-    'description' => t('If an array of known reverse proxy IPs is provided, then \
                trust the XFF header if request really comes from one of them.', \
                array(), $options),
-  );
-  return $variables;
-}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_example/variable_example.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_example/variable_example.info
 index 64d6ff0..c4ea743 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_example/variable_example.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_example/variable_example.info
 @@ -6,9 +6,9 @@ package = Example modules
 core = 7.x
 files[] = variable_example.variable.inc

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.form.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.form.inc
 index 8805d9a..2050ba7 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.form.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.form.inc
 @@ -86,7 +86,10 @@ function variable_realm_edit_variables_form($form, &$form_state, \
$realm_name, $r  $form['realm_name'] = array('#type' => 'value', '#value' => \
$realm_name);  $form['realm_key'] = array('#type' => 'value', '#value' => \
$realm_key);  $options['realm'] = variable_realm($realm_name, $realm_key);
+
   if ($variable_list = $controller->getEnabledVariables()) {
+    $form = variable_base_form($form, $form_state, $variable_list, $options);
+
     // Group variables by variable group for vertical tabls
     $group_list = array();
     foreach ($variable_list as $variable_name) {
@@ -150,6 +153,11 @@ function variable_realm_form_key_selector($realm_name, \
$current_key) {  $element_name = VARIABLE_REALM_FORM_SWITCHER . $realm_name;
   $query_name = 'variable_realm_' . $realm_name . '_key';
   $controller = variable_realm_controller($realm_name);
+  $keys = $controller->getAllKeys();
+  // Don't show selector if there aren't any keys to select.
+  if (empty($keys)) {
+    return array();
+  }
   $form[$element_name] = array(
     '#type' => 'fieldset',
     '#title' => t('There are %name variables in this form', array('%name' => \
$controller->getVariableName())), @@ -159,7 +167,7 @@ function \
variable_realm_form_key_selector($realm_name, $current_key) {  // Replace only this \
element on current query string, there may be others.  $current_query = $_GET;
   unset($current_query['q']);
-  foreach ($controller->getAllKeys() as $realm_key => $key_name) {
+  foreach ($keys as $realm_key => $key_name) {
     $query[VARIABLE_REALM_QUERY_STRING . $realm_name] = $realm_key;
     $link =  l($key_name, $_GET['q'], array('query' => $query + $current_query));
     $items[] = $current_key == $realm_key ? '<strong>' . $link . '</strong>' : \
                $link;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.info
 index e1f56c6..f31aa86 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.info
 @@ -8,9 +8,9 @@ version = 7.x-2.x
 files[] = variable_realm.class.inc
 files[] = variable_realm_union.class.inc

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.module
 index b980741..174eaa7 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.module
 @@ -600,6 +600,10 @@ function _variable_realm_invoke_all() {
   foreach (module_list() as $module) {
     if (module_hook($module, $hook) && $merge = call_user_func_array($module . '_' . \
$hook, $args)) {  $result = drupal_array_merge_deep($result, $merge);
+      // Add module name to each of the realms provided by the module.
+      foreach (array_keys($merge) as $key) {
+        $result[$key] += array('module' => $module);
+      };
       unset($merge);
     }
   }
@@ -610,7 +614,7 @@ function _variable_realm_invoke_all() {
  * Implements hook_form_FORM_ID_alter()
  */
 function variable_realm_form_system_theme_settings_alter(&$form, &$form_state, \
                $form_id) {
-  module_load_include('form.inc', 'variable_realm');
+  form_load_include($form_state, 'form.inc', 'variable_realm');
   $theme_variable = $form['var']['#value'];
   foreach (_variable_realm_variable_settings_form_list() as $realm_name => \
$variables) {  if (in_array($theme_variable, variable_children($variables))) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.variable.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.variable.inc
 index 5d6897b..7ed7f25 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.variable.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_realm/variable_realm.variable.inc
 @@ -47,7 +47,7 @@ function variable_realm_variable_type_info() {
  * Implements hook_variable_settings_form_alter().
  */
 function variable_realm_variable_settings_form_alter(&$form, &$form_state, $form_id) \
                {
-  module_load_include('form.inc', 'variable_realm');
+  form_load_include($form_state, 'form.inc', 'variable_realm');
   foreach (_variable_realm_variable_settings_form_list() as $realm_name => \
                $variables) {
     if ($realm_variables = _variable_realm_variable_settings_form_alter($form, \
$realm_name, variable_children($variables))) {  \
                $form['#realm_variables'][$realm_name] = $realm_variables;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_store/variable_store.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_store/variable_store.info
 index 1da3f39..809eea2 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_store/variable_store.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_store/variable_store.info
 @@ -8,9 +8,9 @@ version = 7.x-2.x
 files[] = variable_store.class.inc
 files[] = variable_store.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_views/variable_views.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_views/variable_views.info
 index 0098950..1a04e05 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_views/variable_views.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/variable/variable_views/variable_views.info
 @@ -9,9 +9,9 @@ files[] = includes/views_plugin_argument_default_variable.inc
 files[] = includes/views_handler_field_variable_title.inc
 files[] = includes/views_handler_field_variable_value.inc

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-2.2"
+; Information added by Drupal.org packaging script on 2014-01-21
+version = "7.x-2.4"
 core = "7.x"
 project = "variable"
-datestamp = "1358075138"
+datestamp = "1390310315"



commit bb4c82f7ff77a04d0b9e8920fe6cad35a3280ad0
Author: Torsten Grote <grote@kolabsys.com>
Date:   Thu Jan 23 15:26:35 2014 +0100

    update Chaos tool suite module as well

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/API.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/API.txt index 2df7e22..e0441d6 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/API.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/API.txt
@@ -1,8 +1,12 @@
-Current API Version: 2.0.5
+Current API Version: 2.0.8

 Please note that the API version is an internal number and does not match release \
numbers. It is entirely possible that releases will not increase the API version \
number, and increasing this number too often would burden contrib module maintainers \
who need to keep up with API changes.

 This file contains a log of changes to the API.
+API Version 2.0.8
+  Introduce ctools_class_add().
+  Introduce ctools_class_remove().
+
 API Version 2.0.7
   All ctools object cache database functions can now accept session_id as an \
optional  argument to facilitate using non-session id keys.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/bulk_export/bulk_export.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/bulk_export/bulk_export.info \
                index 6f57712..d27ea9a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/bulk_export/bulk_export.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/bulk_export/bulk_export.info
@@ -4,9 +4,9 @@ core = 7.x
 dependencies[] = ctools
 package = Chaos tool suite

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/button.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/button.css index \
                91a6044..15e484b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/button.css
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/button.css
@@ -1,4 +1,3 @@
-/* $Id$ */

 .ctools-button-processed {
   border-style: solid;
@@ -29,4 +28,4 @@
 .ctools-button li a {
   padding-left: 12px;
   padding-right: 12px;
-}
\ No newline at end of file
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/dropbutton.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/dropbutton.css index \
                7825111..5e3ea24 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/dropbutton.css
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/css/dropbutton.css
@@ -1,4 +1,3 @@
-/* $Id$ */

 .ctools-dropbutton-processed {
   padding-right: 18px;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.api.php index \
                1aef57c..a7ab783 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.api.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.api.php
@@ -203,5 +203,66 @@ function hook_ctools_content_subtype_alter($subtype, $plugin) {
 }

 /**
+ * Alter the definition of an entity context plugin.
+ *
+ * @param array $plugin
+ *   An associative array defining a plugin.
+ * @param array $entity
+ *   The entity info array of a specific entity type.
+ * @param string $plugin_id
+ *   The plugin ID, in the format NAME:KEY.
+ */
+function hook_ctools_entity_context_alter(&$plugin, &$entity, $plugin_id) {
+  ctools_include('context');
+  switch ($plugin_id) {
+    case 'entity_id:taxonomy_term':
+      $plugin['no ui'] = TRUE;
+    case 'entity:user':
+      $plugin = ctools_get_context('user');
+      unset($plugin['no ui']);
+      unset($plugin['no required context ui']);
+      break;
+  }
+}
+
+/**
+ * Alter the definition of entity context plugins.
+ *
+ * @param array $plugins
+ *   An associative array of plugin definitions, keyed by plugin ID.
+ *
+ * @see hook_ctools_entity_context_alter()
+ */
+function hook_ctools_entity_contexts_alter(&$plugins) {
+  $plugins['entity_id:taxonomy_term']['no ui'] = TRUE;
+}
+
+/**
+ * Change cleanstring settings.
+ *
+ * @param array $settings
+ *   An associative array of cleanstring settings.
+ *
+ * @see ctools_cleanstring()
+ */
+function hook_ctools_cleanstring_alter(&$settings) {
+  // Convert all strings to lower case.
+  $settings['lower case'] = TRUE;
+}
+
+/**
+ * Change cleanstring settings for a specific clean ID.
+ *
+ * @param array $settings
+ *   An associative array of cleanstring settings.
+ *
+ * @see ctools_cleanstring()
+ */
+function hook_ctools_cleanstring_CLEAN_ID_alter(&$settings) {
+  // Convert all strings to lower case.
+  $settings['lower case'] = TRUE;
+}
+
+/**
  * @} End of "addtogroup hooks".
  */
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.info index \
                c3e56fb..8a7b0b6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.info
@@ -6,9 +6,9 @@ files[] = includes/context.inc
 files[] = includes/math-expr.inc
 files[] = includes/stylizer.inc

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.install index \
                4a6f55c..1f961f1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.install
@@ -26,7 +26,7 @@ function ctools_requirements($phase) {
     }

     if (!function_exists('error_get_last')) {
-  	  $requirements['ctools_php_52']['title'] = t('CTools PHP requirements');
+      $requirements['ctools_php_52']['title'] = t('CTools PHP requirements');
       $requirements['ctools_php_52']['description'] = t('CTools requires certain \
features only available in PHP 5.2.0 or higher.');  \
                $requirements['ctools_php_52']['severity'] = REQUIREMENT_WARNING;
       $requirements['ctools_php_52']['value'] = t('PHP !version', array('!version' \
=> phpversion())); @@ -52,6 +52,14 @@ function ctools_schema_2() {
   // update the 'name' field to be 128 bytes long:
   $schema['ctools_object_cache']['fields']['name']['length'] = 128;

+  // Update the 'data' field to be type 'blob'.
+  $schema['ctools_object_cache']['fields']['data'] = array(
+    'type' => 'blob',
+    'size' => 'big',
+    'description' => 'Serialized data being stored.',
+    'serialize' => TRUE,
+  );
+
   // DO NOT MODIFY THIS TABLE -- this definition is used to create the table.
   // Changes to this table must be made in schema_3 or higher.
   $schema['ctools_css_cache'] = array(
@@ -194,4 +202,18 @@ function ctools_update_6007() {
   return $ret;
 }

-
+/**
+ * ctools_object_cache needs to be defined as a blob.
+ */
+function ctools_update_6008() {
+  db_delete('ctools_object_cache')
+    ->execute();
+
+  db_change_field('ctools_object_cache', 'data', 'data', array(
+      'type' => 'blob',
+      'size' => 'big',
+      'description' => 'Serialized data being stored.',
+      'serialize' => TRUE,
+    )
+  );
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.module index \
                7dfc989..f014e74 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools.module
@@ -367,6 +367,52 @@ function ctools_set_no_blocks($blocks = FALSE) {
   $status = $blocks;
 }

+/**
+ * Add an array of classes to the body.
+ *
+ * @param mixed $classes
+ *   A string or an array of class strings to add.
+ * @param string $hook
+ *   The theme hook to add the class to. The default is 'html' which will
+ *   affect the body tag.
+ */
+function ctools_class_add($classes, $hook = 'html') {
+  if (!is_array($classes)) {
+    $classes = array($classes);
+  }
+
+  $static = &drupal_static('ctools_process_classes', array());
+  if (!isset($static[$hook]['add'])) {
+    $static[$hook]['add'] = array();
+  }
+  foreach ($classes as $class) {
+    $static[$hook]['add'][] = $class;
+  }
+}
+
+/**
+ * Remove an array of classes from the body.
+ *
+ * @param mixed $classes
+ *   A string or an array of class strings to remove.
+ * @param string $hook
+ *   The theme hook to remove the class from. The default is 'html' which will
+ *   affect the body tag.
+ */
+function ctools_class_remove($classes, $hook = 'html') {
+  if (!is_array($classes)) {
+    $classes = array($classes);
+  }
+
+  $static = &drupal_static('ctools_process_classes', array());
+  if (!isset($static[$hook]['remove'])) {
+    $static[$hook]['remove'] = array();
+  }
+  foreach ($classes as $class) {
+    $static[$hook]['remove'][] = $class;
+  }
+}
+
 // -----------------------------------------------------------------------
 // Drupal core hooks

@@ -574,6 +620,36 @@ function ctools_page_token_processing($children, $elements) {
   return $children;
 }

+/**
+ * Implements hook_process().
+ *
+ * Add and remove CSS classes from the variables array. We use process so that
+ * we alter anything added in the preprocess hooks.
+ */
+function ctools_process(&$variables, $hook) {
+  if (!isset($variables['classes'])) {
+    return;
+  }
+
+  $classes = drupal_static('ctools_process_classes', array());
+
+  // Process the classses to add.
+  if (!empty($classes[$hook]['add'])) {
+    $add_classes = array_map('drupal_clean_css_identifier', $classes[$hook]['add']);
+    $variables['classes_array'] = \
array_unique(array_merge($variables['classes_array'], $add_classes)); +  }
+
+  // Process the classes to remove.
+  if (!empty($classes[$hook]['remove'])) {
+    $remove_classes = array_map('drupal_clean_css_identifier', \
$classes[$hook]['remove']); +    $variables['classes_array'] = \
array_diff($variables['classes_array'], $remove_classes); +  }
+
+  // Since this runs after template_process(), we need to re-implode the
+  // classes array.
+  $variables['classes'] = implode(' ', $variables['classes_array']);
+}
+
 // -----------------------------------------------------------------------
 // Menu callbacks that must be in the .module file.

@@ -699,22 +775,6 @@ function ctools_export_ui_task_access($plugin_name, $op, $item = \
NULL) {  }

 /**
- * Cache callback on behalf of ctools_export_ui.
- */
-function ctools_export_ui_context_cache_get($plugin_name, $key) {
-  dsm('should not be called!');
-  return;
-}
-
-/**
- * Cache callback on behalf of ctools_export_ui.
- */
-function ctools_export_ui_context_cache_set($plugin_name, $key, $item) {
-  dsm('should not be called!');
-  return;
-}
-
-/**
  * Callback for access control ajax form on behalf of export ui.
  *
  * Returns the cached access config and contexts used.
@@ -815,6 +875,9 @@ function ctools_ajax_theme_callback() {
   }
 }

+/**
+ * Implements hook_ctools_entity_context_alter().
+ */
 function ctools_ctools_entity_context_alter(&$plugin, &$entity, $plugin_id) {
   ctools_include('context');
   switch ($plugin_id) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info
 index 04c92c3..1019253 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.info
 @@ -4,9 +4,9 @@ core = 7.x
 package = Chaos tool suite
 dependencies[] = ctools

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install
 index b1613d8..3f00877 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_access_ruleset/ctools_access_ruleset.install
 @@ -17,7 +17,7 @@ function ctools_access_ruleset_schema_1() {
       'bulk export' => TRUE,
       'primary key' => 'rsid',
       'api' => array(
-        'owner' => 'ctools',
+        'owner' => 'ctools_access_ruleset',
         'api' => 'ctools_rulesets',
         'minimum_version' => 1,
         'current_version' => 1,
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info
 index bbf708c..03ccb34 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_ajax_sample/ctools_ajax_sample.info
 @@ -4,9 +4,9 @@ package = Chaos tool suite
 dependencies[] = ctools
 core = 7.x

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info
 index b56e3be..d9c4567 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_custom_content/ctools_custom_content.info
 @@ -4,9 +4,9 @@ core = 7.x
 package = Chaos tool suite
 dependencies[] = ctools

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info
 index c9f12e7..e4fa534 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.info
 @@ -7,9 +7,9 @@ dependencies[] = page_manager
 dependencies[] = advanced_help
 core = 7.x

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module
 index 442969d..01d5338 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/ctools_plugin_example.module
 @@ -85,8 +85,8 @@ function ctools_plugin_example_explanation_page() {
     You can find it in %path.',
     array(
       '@demo_url' => url('ctools_plugin_example/xxxxx'),
-      '!ctools_plugin_example_help' => theme('advanced_help_topic', \
                'ctools_plugin_example', 'Chaos-Tools--CTools--Plugin-Examples', \
                'title'),
-      '!ctools_help' => theme('advanced_help_topic', 'ctools', 'plugins', 'title'),
+      '!ctools_plugin_example_help' => theme('advanced_help_topic', array('module' \
=> 'ctools_plugin_example', 'topic' => 'Chaos-Tools--CTools--Plugin-Examples', 'type' \
=> 'title')), +      '!ctools_help' => theme('advanced_help_topic', array('module' => \
'ctools', 'topic' => 'plugins', 'type' => 'title')),  '%path' => \
drupal_get_path('module', 'ctools_plugin_example'),  )) . '</p>';

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/plugins/content_types/no_context_content_type.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/plugins/content_types/no_context_content_type.inc
 index 8b73408..3c02ab8 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/plugins/content_types/no_context_content_type.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/ctools_plugin_example/plugins/content_types/no_context_content_type.inc
 @@ -53,8 +53,8 @@ $plugin = array(
 function no_context_content_type_render($subtype, $conf, $args, $context) {
   $block = new stdClass();

-  $ctools_help = theme('advanced_help_topic', 'ctools', 'plugins', 'title');
-  $ctools_plugin_example_help = theme('advanced_help_topic', \
'ctools_plugin_example', 'Chaos-Tools--CTools--Plugin-Examples', 'title'); +  \
$ctools_help = theme('advanced_help_topic', array('module' => 'ctools', 'topic' => \
'plugins', 'type' => 'title')); +  $ctools_plugin_example_help = \
theme('advanced_help_topic', array('module' => 'ctools_plugin_example', 'topic' => \
'Chaos-Tools--CTools--Plugin-Examples', 'type' => 'title'));

   // The title actually used in rendering
   $block->title = check_plain("No-context content type");
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/drush/ctools.drush.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/drush/ctools.drush.inc index \
                bf1df1f..1862dbe 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/drush/ctools.drush.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/drush/ctools.drush.inc
@@ -381,6 +381,7 @@ function ctools_drush_export_info() {

   // Get info on these tables, or all tables if none specified.
   $info = _ctools_drush_export_info($table_names, $load);
+  $schemas = $info['schemas'];
   $exportables = $info['exportables'];

   if (empty($exportables)) {
@@ -416,11 +417,12 @@ function ctools_drush_export_info() {
   }
   // Build a tabular output as default.
   else {
-    $header = $tables_only ? array() : array(dt('Base table'), dt('Exportables'));
+    $header = $tables_only ? array() : array(dt('Module'), dt('Base table'), \
dt('Exportables'));  $rows = array();
     foreach ($exportables as $table => $info) {
       if (is_array($info)) {
         $row = array(
+          $schemas[$table]['module'],
           $table,
           // Machine name is better for this?
           shellColours::getColouredOutput(implode("\n", array_keys($info)), \
'light_green') . "\n", @@ -434,7 +436,7 @@ function ctools_drush_export_info() {
     if (!empty($rows)) {
       drush_print("\n");
       array_unshift($rows, $header);
-      drush_print_table($rows, TRUE, array(20));
+      drush_print_table($rows, TRUE, array(20, 20));
       drush_print(dt('Total exportables found: !total', array('!total' => \
                $exportable_counts['total'])));
       foreach ($exportable_counts['exportables'] as $table_name => $count) {
         drush_print(dt('!table_name (!count)', array('!table_name' => $table_name, \
                '!count' => $count)), 2);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins-implementing.html \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins-implementing.html \
                index 070f08d..c95e72d 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins-implementing.html
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins-implementing.html
 @@ -1,6 +1,7 @@
-<p>To implement plugins, you need to implement a single hook in your module to tell \
the system where your plugins live, and then you need to implement one or more .inc \
files that contain the plugin data.</p> +<p>There are two parts to implementing a \
plugin: telling the system where it is, and implementing one or more .inc files that \
contain the plugin data.</p>

-<h2>Telling it where your plugins live</h2>
+<h2>Telling the system where your plugins live</h2>
+<h3>How a module implements plugins</h3>
 <p>To implement any plugins at all, you must implement a single function for all \
plugins: <strong>hook_ctools_plugin_directory</strong>. Every time a module loads \
plugins, this hook will be called to see which modules implement those plugins and in \
what directory those plugins will live.</p>

 <pre>
@@ -30,13 +31,13 @@ plugins/
         my_content_type.inc
     layouts/
         my_layout.inc
-        my_laout.css
+        my_layout.css
         my_layout.tpl.php
         my_layout_image.png
 </pre>

-<h2>How a theme can implement plugins</h2>
-<p>Themes can implement plugins if the plugin owner specified that it's possible in \
its hook_ctools_api_TYPE() call. If so, it is generally exactly the same as modules, \
except for one important difference: themes don't get hook_ctools_plugin_directory(). \
Instead, themes add a line to their info file:</p> +<h3>How a theme implements \
plugins</h3> +<p>Themes can implement plugins if the plugin owner specified that it's \
possible in its hook_ctools_plugin_type() call. If so, it is generally exactly the \
same as modules, except for one important difference: themes don't get \
hook_ctools_plugin_directory(). Instead, themes add a line to their .info file:</p>

 <pre>
 plugins[module][type] = directory
@@ -54,7 +55,7 @@ $plugin = array(
 );
 </pre>

-<p>Several values will be filled in for you automatically, but you can override them \
if necessary. They include 'name', 'path', 'file' and 'module'. Additionally, the \
plugin can owner can provide other defaults as well.</p> +<p>Several values will be \
filled in for you automatically, but you can override them if necessary. They include \
'name', 'path', 'file' and 'module'. Additionally, the plugin owner can provide other \
defaults as well.</p>

 <p>There are no required keys by the plugin system itself. The only requirements in \
the $plugin array will be defined by the plugin type.</p>

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins.html \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins.html index \
                b948411..1e64da0 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins.html
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/help/plugins.html
@@ -1,5 +1,5 @@
 <p>The plugins tool allows a module to allow <b>other</b> modules (and themes!) to \
provide plugins which provide some kind of functionality or some kind of task. For \
example, in Panels there are several types of plugins: Content types (which are like \
blocks), layouts (which are page layouts) and styles (which can be used to style a \
panel). Each plugin is represented by a .inc file, and the functionality they offer \
can differ wildly.</p>

-<p>A module which uses plugins can implement a hook describing the plugin (which is \
not necessary, as defaults will be filled in) and then calls a ctools function which \
loads either all the known plugins (used for listing/choosing) or loads a specific \
plugin (used when its known which plugin is needed). From the perspective of the \
plugin system, a plugin is a packet of data, usually some printable info and a list \
of callbacks. It is up to the module implementing plugins to determine what that info \
means and what the callbacks do.</p> +<p>A module which uses plugins can implement a \
hook describing the plugin (which is not necessary, as defaults will be filled in) \
and then calls a ctools function which loads either all the known plugins (used for \
listing/choosing) or a specific plugin (used when it's known which plugin is needed). \
From the perspective of the plugin system, a plugin is a packet of data, usually some \
printable info and a list of callbacks. It is up to the module implementing plugins \
to determine what that info means and what the callbacks do.</p>

-<p>A module which implements plugins must first implement the \
<strong>hook_ctools_plugin_directory</strong> function, which simply tells the system \
which plugins are supported and what directory to look in. Each plugin will then be \
in a .inc file in the directory supplied. The .inc file will contain a specially \
named hook which returns the data necessary to implement the plugin.</p> \ No newline \
at end of file +<p>A module which implements plugins must first implement the \
<strong>hook_ctools_plugin_directory</strong> function, which simply tells the system \
which plugins are supported and what directory to look in. Each plugin will then be \
in a separate .inc file in the directory supplied. The .inc file will contain a \
                specially named hook which returns the data necessary to implement \
                the plugin.</p>
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/action-links.theme.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/action-links.theme.inc \
new file mode 100644 index 0000000..3a2398a
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/action-links.theme.inc
 @@ -0,0 +1,33 @@
+<?php
+/**
+ * @file
+ * Theme function for wrapping menu local actions.
+ */
+
+/**
+ * Delegated implementation of hook_theme()
+ */
+function ctools_action_links_theme(&$items) {
+  $items['ctools_menu_local_actions_wrapper'] = array(
+    'render element' => 'links',
+    'file' => 'includes/action-links.theme.inc',
+  );
+}
+
+/**
+ * Render a menu local actions wrapper.
+ *
+ * @param $links
+ *   Local actions links.
+ * @param $attributes
+ *   An array of attributes to append to the wrapper.
+ */
+function theme_ctools_menu_local_actions_wrapper($variables) {
+  $links = drupal_render($variables['links']);
+
+  if (empty($links)) {
+    return;
+  }
+
+  return '<ul class="action-links">' . $links . '</ul>';
+}
\ No newline at end of file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.menu.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.menu.inc index \
                11a686a..93884fc 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.menu.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.menu.inc
@@ -50,6 +50,21 @@ function ctools_content_autocomplete_entity($type, $string = '') {

     $matches = array();
     if ($type == 'node') {
+      if (!user_access('bypass node access')) {
+        // If the user is able to view their own unpublished nodes, allow them
+        // to see these in addition to published nodes.
+        if (user_access('view own unpublished content')) {
+          $query->condition(db_or()
+            ->condition('b.status', NODE_PUBLISHED)
+            ->condition('b.uid', $GLOBALS['user']->uid)
+          );
+        }
+        else {
+          // If not, restrict the query to published nodes.
+          $query->condition('b.status', NODE_PUBLISHED);
+        }
+      }
+
       $query->addTag('node_access');
       $query->join('users', 'u', 'b.uid = u.uid');
       $query->addField('u', 'name', 'name');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.plugin-type.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.plugin-type.inc \
                index 4c767ae..a0debc3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.plugin-type.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/content.plugin-type.inc
 @@ -10,7 +10,7 @@ function ctools_content_plugin_type(&$items) {
     'cache' => FALSE,
     'process' => array(
       'function' => 'ctools_content_process',
-      'file' => 'export-ui.inc',
+      'file' => 'content.inc',
       'path' => drupal_get_path('module', 'ctools') . '/includes',
     ),
   );
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context-task-handler.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context-task-handler.inc
 index 617f20e..37aa6df 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context-task-handler.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context-task-handler.inc
 @@ -143,6 +143,10 @@ function ctools_context_handler_render_handler($task, $subtask, \
$handler, $conte  return MENU_ACCESS_DENIED;
       case 404:
         return MENU_NOT_FOUND;
+      case 410:
+        drupal_add_http_header('Status', '410 Gone');
+        drupal_exit();
+        break;
       case 301:
       case 302:
       case 303:
@@ -451,7 +455,7 @@ function ctools_context_handler_edit_criteria($form, \
&$form_state) {  ctools_include('ajax');
   ctools_modal_add_plugin_js(ctools_get_access_plugins());
   ctools_include('context-access-admin');
-  $form_state['module'] = 'page_manager_task_handler';
+  $form_state['module'] = (isset($form_state['module'])) ? $form_state['module'] : \
'page_manager_task_handler';  // Encode a bunch of info into the argument so we can \
get our cache later  $form_state['callback argument'] = $form_state['task_name'] . \
'*' . $form_state['handler']->name;  $form_state['access'] = \
                $form_state['handler']->conf['access'];
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context.inc index \
                5c7a4ce..93be748 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/context.inc
@@ -508,6 +508,17 @@ function ctools_context_get_all_converters() {

 /**
  * Let the context convert an argument based upon the converter that was given.
+ *
+ * @param $context
+ *   The context object
+ * @param $converter
+ *   The converter to use, which should be a string provided by the converter list.
+ * @param $converter_options
+ *   A n array of options to pass on to the generation function. For contexts
+ *   that use token module, of particular use is 'sanitize' => FALSE which can
+ *   get raw tokens. This should ONLY be used in values that will later be
+ *   treated as unsafe user input since these values are by themselves unsafe.
+ *   It is particularly useful to get raw values from Field API.
  */
 function ctools_context_convert_context($context, $converter, $converter_options = \
array()) {  // Contexts without plugins might be optional placeholders.
@@ -633,7 +644,7 @@ function ctools_context_keyword_substitute($string, $keywords, \
$contexts, $conve

   // Look for context matches we we only have to convert known matches.
   $matches = array();
-  if (preg_match_all('/%(%|[a-zA-Z0-9_-]+(?:\:[a-zA-Z0-9_-]+)?)/us', $string, \
$matches)) { +  if (preg_match_all('/%(%|[a-zA-Z0-9_-]+(?:\:[a-zA-Z0-9_-]+)*)/us', \
$string, $matches)) {  foreach ($matches[1] as $keyword) {
       // Ignore anything it finds with %%.
       if ($keyword[0] == '%') {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropbutton.theme.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropbutton.theme.inc \
                index 0848666..fcdd5a3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropbutton.theme.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropbutton.theme.inc
 @@ -1,10 +1,11 @@
 <?php
-// $Id$

 /**
  * @file
  * Provide a javascript based dropbutton menu.
  *
+ * An example are the edit/disable/delete links on the views listing page.
+ *
  * The dropbutton menu will show up as a button with a clickable twisty pointer
  * to the right. When clicked the button will expand, showing the list of links.
  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropdown.theme.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropdown.theme.inc \
                index 2e21559..7e748f5 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropdown.theme.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/dropdown.theme.inc
@@ -4,6 +4,9 @@
  * @file
  * Provide a javascript based dropdown menu.
  *
+ * An example are the dropdown settings in the panels ui, like for adding
+ * new panes.
+ *
  * The dropdown menu will show up as a clickable link; when clicked,
  * a small menu will slide down beneath it, showing the list of links.
  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/fields.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/fields.inc index \
                dcd6139..162262c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/fields.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/fields.inc
@@ -170,6 +170,8 @@ function ctools_field_label($field_name) {
  *
  * @param $field_name
  *   Either a field instance object or the name of the field.
+ *   If the 'field' key is populated it will be used as the field
+ *   settings.
  * @param $op
  *   Possible operations include:
  *   - form
@@ -222,6 +224,7 @@ function ctools_field_label($field_name) {
 function ctools_field_invoke_field($field_name, $op, $entity_type, $entity, &$a = \
NULL, &$b = NULL, $options = array()) {  if (is_array($field_name)) {
     $instance = $field_name;
+    $field = empty($field_name['field']) ? field_info_field($instance['field_name']) \
: $field_name['field'];  $field_name = $instance['field_name'];
   }
   else {
@@ -245,7 +248,6 @@ function ctools_field_invoke_field($field_name, $op, \
$entity_type, $entity, &$a

   // Everything from here is unmodified code from _field_invoke() formerly
   // inside a foreach loop over the instances.
-  $field = field_info_field($field_name);
   $function = $options['default'] ? 'field_default_' . $op : $field['module'] . \
'_field_' . $op;  if (function_exists($function)) {
     // Determine the list of languages to iterate on.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/plugins.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/plugins.inc index \
                2dbdd48..0363fcb 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/plugins.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/includes/plugins.inc
@@ -440,7 +440,7 @@ function ctools_plugin_load_includes($info, $filename = NULL) {
       $all_files[$info['module']][$info['type']] = array();
       // Load all our plugins.
       $directories = ctools_plugin_get_directories($info);
-      $extension = empty($info['info file']) ? $info['extension'] : 'info';
+      $extension = (empty($info['info file']) || ($info['extension'] != 'inc')) ? \
$info['extension'] : 'info';

       foreach ($directories as $module => $path) {
         $all_files[$info['module']][$info['type']][$module] = \
                file_scan_directory($path, '/\.' . $extension . '$/', array('key' => \
                'name'));
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/auto-submit.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/auto-submit.js index \
                890dd1f..a3e9aa4 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/auto-submit.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/auto-submit.js
@@ -45,11 +45,11 @@ Drupal.behaviors.CToolsAutoSubmit = {
     // the change event bubbles so we only need to bind it to the outer form
     $('form.ctools-auto-submit-full-form', context)
       .add('.ctools-auto-submit', context)
-      .filter('form, select, input:not(:text, :submit, \
.ctools-auto-submit-exclude)') +      .filter('form, select, input:not(:text, \
                :submit)')
       .once('ctools-auto-submit')
       .change(function (e) {
         // don't trigger on text change for full-form
-        if ($(e.target).is(':not(:text, :submit)')) {
+        if ($(e.target).is(':not(:text, :submit, .ctools-auto-submit-exclude)')) {
           triggerSubmit.call(e.target.form);
         }
       });
@@ -88,6 +88,11 @@ Drupal.behaviors.CToolsAutoSubmit = {
             if ($.inArray(e.keyCode, discardKeyCode) === -1) {
               timeoutID = setTimeout($.proxy(triggerSubmit, this.form), 500);
             }
+          })
+          .bind('change', function (e) {
+            if ($.inArray(e.keyCode, discardKeyCode) === -1) {
+              timeoutID = setTimeout($.proxy(triggerSubmit, this.form), 500);
+            }
           });
       });
   }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dependent.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dependent.js index \
                07ff021..e9e2447 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dependent.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dependent.js
@@ -97,7 +97,7 @@
           else {
             switch ($(trigger).attr('type')) {
               case 'checkbox':
-                var val = $(trigger).attr('checked') || 0;
+                var val = $(trigger).attr('checked') ? true : false;

                 if (val) {
                   $(trigger).siblings('label').removeClass('hidden-options').addClass('expanded-options');
                
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dropbutton.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dropbutton.js index \
                49bc107..f505550 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dropbutton.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/dropbutton.js
@@ -1,4 +1,3 @@
-// $Id$
 /**
  * @file
  * Implement a simple, clickable dropbutton menu.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/modal.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/modal.js index \
                5b417d0..831649f 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/modal.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/js/modal.js
@@ -399,7 +399,7 @@
       }

       var parents = $(target).parents().get();
-      for (var i in $(target).parents().get()) {
+      for (var i = 0; i < parents.length; ++i) {
         var position = $(parents[i]).css('position');
         if (position == 'absolute' || position == 'fixed') {
           return true;
@@ -434,7 +434,7 @@
       }
     };

-    $(document).bind('keypress', modalEventEscapeCloseHandler);
+    $(document).bind('keydown', modalEventEscapeCloseHandler);

     // Close the open modal content and backdrop
     function close() {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.admin.inc
 index c01961b..3dce041 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.admin.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.admin.inc
 @@ -158,7 +158,7 @@ function page_manager_get_pages($tasks, &$pages, $task_id = \
NULL) {  $visible_path = '';
     if (!empty($task['admin path'])) {
       foreach (explode('/', $task['admin path']) as $bit) {
-        if ($bit[0] != '!') {
+        if (isset($bit[0]) && $bit[0] != '!') {
           $path[] = $bit;
         }
       }
@@ -1126,9 +1126,11 @@ function page_manager_render_operations(&$page, $operations, \
$active_trail, $att  // We only render an li for things in the same nav tree.
     if (empty($operation['location']) || $operation['location'] == $location) {
       if (!is_array($attributes['class'])) {
-        dsm($attributes['class']);
+        $attributes['class'] = array($attributes['class']);
       }
+
       $class = empty($attributes['class']) || !is_array($attributes['class']) ? \
array() : $attributes['class']; +
       if ($id == $first) {
         $class[] = 'operation-first';
       }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.api.php
 new file mode 100644
index 0000000..03e2e75
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.api.php
 @@ -0,0 +1,39 @@
+<?php
+
+/**
+ * @file
+ * Describe hooks provided by the Page Manager module.
+ */
+
+/**
+ * @addtogroup hooks
+ * @{
+ */
+
+/**
+ * @todo.
+ *
+ * @param array $result
+ *   @todo.
+ * @param object $page
+ *   @todo.
+ */
+function hook_page_manager_operations_alter(&$result, &$page) {
+  // @todo.
+}
+
+/**
+ * @todo.
+ *
+ * @param array $operations
+ *   @todo.
+ * @param object $handler
+ *   @todo.
+ */
+function hook_page_manager_variant_operations_alter(&$operations, &$handler) {
+  // @todo.
+}
+
+/**
+ * @} End of "addtogroup hooks".
+ */
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.info \
                index d3e3588..76095ff 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.info
 @@ -4,9 +4,9 @@ core = 7.x
 dependencies[] = ctools
 package = Chaos tool suite

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.module \
                index 62f6d27..da99a57 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/page_manager.module
 @@ -838,9 +838,6 @@ function page_manager_get_task_subtasks($task) {
     if (is_array($retval)) {
       return $retval;
     }
-    else {
-      dsm($retval);
-    }
   }

   return array();
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/task_handlers/http_response.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/task_handlers/http_response.inc
 index c11dcd7..e5c0141 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/task_handlers/http_response.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/task_handlers/http_response.inc
 @@ -105,8 +105,9 @@ $plugin = array(
  */
 function page_manager_http_response_codes() {
   return array(
-    404 => t('404 Page not found'),
     403 => t('403 Access denied'),
+    404 => t('404 Page not found'),
+    410 => t('410 Gone'),
     301 => t('301 Redirect'),
   );
 }
@@ -282,4 +283,4 @@ function page_manager_http_response_render($handler, \
$base_contexts, $args, $tes  }

   return $info;
-}
\ No newline at end of file
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/comment_reply.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/comment_reply.inc
 new file mode 100644
index 0000000..0fcf9e2
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/comment_reply.inc
 @@ -0,0 +1,162 @@
+<?php
+/**
+ * Specialized implementation of hook_page_manager_task_tasks(). See api-task.html \
for + * more information.
+ */
+function page_manager_comment_reply_page_manager_tasks() {
+  if (!module_exists('comment')) {
+    return;
+  }
+
+  return array(
+    // This is a 'page' task and will fall under the page admin UI
+    'task type' => 'page',
+
+    'title' => t('Comment Reply page'),
+    'admin title' => t('Comment Reply page'),
+    'admin description' => t('When enabled, this overrides the default Drupal \
behavior for the site contact page at <em>/contact</em>. If no variant is selected, \
the default Drupal contact form will be used.'), +    'admin path' => \
'comment/reply/%node', +
+    // Menu hooks so that we can alter the node/%node menu entry to point to us.
+    'hook menu alter' => 'page_manager_comment_reply_menu_alter',
+
+    // This is task uses 'context' handlers and must implement these to give the
+    // handler data it needs.
+    'handler type' => 'context',
+    'get arguments' => 'page_manager_comment_reply_get_arguments',
+    'get context placeholders' => 'page_manager_comment_reply_get_contexts',
+
+  // Allow this to be enabled or disabled:
+    'disabled' => variable_get('page_manager_comment_reply_disabled', TRUE),
+    'enable callback' => 'page_manager_comment_reply_enable',
+    'access callback' => 'page_manager_comment_reply_check',
+  );
+}
+
+/**
+ * Callback to enable/disable the page from the UI.
+ */
+function page_manager_comment_reply_enable($cache, $status) {
+  variable_set('page_manager_comment_reply_disabled', $status);
+  // Set a global flag so that the menu routine knows it needs
+  // to set a message if enabling cannot be done.
+  if (!$status) {
+    $GLOBALS['page_manager_enabling_comment_reply'] = TRUE;
+  }
+}
+
+
+/**
+ * Entry point for our overridden comment.
+ *
+ */
+function page_manager_comment_reply_page($node, $pid = NULL){
+    // Load my task plugin
+  $task = page_manager_get_task('comment_reply');
+
+  // Load the node into a context.
+  ctools_include('context');
+  ctools_include('context-task-handler');
+
+  $contexts = ctools_context_handler_get_task_contexts($task, '', array($node, \
$pid)); +
+  if (array_key_exists('argument_cid_3', $contexts) && \
$contexts['argument_cid_3']->data->nid != $node->nid) { +    // Attempting to reply \
to a comment not belonging to the current nid. +    drupal_set_message(t('The comment \
you are replying to does not exist.'), 'error'); +    drupal_goto("node/$node->nid");
+  }
+
+  $output = ctools_context_handler_render($task, '', $contexts, array($node, $pid));
+  if ($output != FALSE) {
+    return $output;
+  }
+
+  $function = 'comment_reply';
+  foreach (module_implements('page_manager_override') as $module) {
+    $call = $module . '_page_manager_override';
+    if (($rc = $call('comment_reply')) && function_exists($rc)) {
+      $function = $rc;
+      break;
+    }
+  }
+
+  module_load_include('inc', 'comment', 'comment.pages');
+  return $function($node, $pid);
+}
+
+/**
+ * Callback to get arguments provided by this task handler.
+ *
+ * Since this is the node view and there is no UI on the arguments, we
+ * create dummy arguments that contain the needed data.
+ */
+function page_manager_comment_reply_get_arguments($task, $subtask_id) {
+  return array(
+    array(
+      'keyword' => 'node',
+      'identifier' => t('Node being commented on'),
+      'id' => 2,
+      'name' => 'entity_id:node',
+      'settings' => array(),
+    ),
+    array(
+      'keyword' => 'comment',
+      'identifier' => t('Comment being replied to'),
+      'id' => 3,
+      'name' => 'entity_id:comment',
+      'settings' => array(),
+    ),
+  );
+}
+
+/**
+ * Callback to get context placeholders provided by this handler.
+ */
+function page_manager_comment_reply_get_contexts($task, $subtask_id) {
+  return ctools_context_get_placeholders_from_argument(page_manager_comment_reply_get_arguments($task, \
$subtask_id)); +}
+
+/**
+ * Callback defined by page_manager_node_view_page_manager_tasks().
+ *
+ * Alter the node view input so that node view comes to us rather than the
+ * normal node view process.
+ */
+function page_manager_comment_reply_menu_alter(&$items, $task) {
+  if (variable_get('page_manager_comment_reply_disabled', TRUE)) {
+    return;
+  }
+  // Override the node view handler for our purpose.
+  $callback = $items['comment/reply/%node']['page callback'];
+  if ($callback == 'comment_reply' || variable_get('page_manager_override_anyway', \
FALSE)) { +    $items['comment/reply/%node']['page callback'] = \
'page_manager_comment_reply_page'; +    $items['comment/reply/%node']['file path'] = \
$task['path']; +    $items['comment/reply/%node']['file'] = $task['file'];
+  }
+  else {
+    // automatically disable this task if it cannot be enabled.
+    variable_set('page_manager_comment_reply_disabled', TRUE);
+    if (!empty($GLOBALS['page_manager_enabling_comment_reply'])) {
+      drupal_set_message(t('Page manager module is unable to enable \
comment/reply/%node because some other module already has overridden with \
%callback.', array('%callback' => $callback)), 'error'); +    }
+  }
+
+  // @todo override node revision handler as well?
+}
+
+/**
+ * Callback to determine if a page is accessible.
+ *
+ * @param $task
+ *   The task plugin.
+ * @param $subtask_id
+ *   The subtask id
+ * @param $contexts
+ *   The contexts loaded for the task.
+ * @return
+ *   TRUE if the current user can access the page.
+ */
+function page_manager_comment_reply_access_check($task, $subtask_id, $contexts) {
+  $context = reset($contexts);
+  return TRUE;
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/term_view.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/term_view.inc
 index 6933a54..e276570 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/term_view.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/term_view.inc
 @@ -106,44 +106,90 @@ function page_manager_term_view_menu_alter(&$items, $task) {
  * to run with it. If no one does, it passes through to Drupal core's
  * term view, which is term_page_view().
  */
-function page_manager_term_view_page($term) {
-  // Assign the term name as the page title, just as the original page
-  // callback did.
+function page_manager_term_view_page($term, $depth = NULL) {
+  // Prep the term to be displayed so all of the regular hooks are triggered.
+  // Rather than calling taxonomy_term_page() directly, as it that would
+  // potentially load nodes that were not necessary, execute some of the code
+  // prior to identifying the correct CTools or Page Manager task handler and
+  // only proceed with the rest of the code if necessary.
+
+  // Assign the term name as the page title.
   drupal_set_title($term->name);

-  // While we ordinarily should never actually get feeds through here,
-  // just in case
+  // If there is a menu link to this term, the link becomes the last part
+  // of the active trail, and the link name becomes the page title.
+  // Thus, we must explicitly set the page title to be the node title.
+  $uri = entity_uri('taxonomy_term', $term);
+
+  // Set the term path as the canonical URL to prevent duplicate content.
+  drupal_add_html_head_link(array('rel' => 'canonical', 'href' => url($uri['path'], \
$uri['options'])), TRUE); +  // Set the non-aliased path as a default shortlink.
+  drupal_add_html_head_link(array('rel' => 'shortlink', 'href' => url($uri['path'], \
array_merge($uri['options'], array('alias' => TRUE)))), TRUE); +
+  // Trigger the main
+  $build = taxonomy_term_show($term);
+
   // Load my task plugin
   $task = page_manager_get_task('term_view');

   // Load the term into a context.
   ctools_include('context');
   ctools_include('context-task-handler');
-  $contexts = ctools_context_handler_get_task_contexts($task, '', array($term));
+  $contexts = ctools_context_handler_get_task_contexts($task, '', array($term, \
$depth));

   if (empty($contexts)) {
     return drupal_not_found();
   }

+  // Build the full output using the configured CTools plugin.
   $output = ctools_context_handler_render($task, '', $contexts, array($term->tid));
   if ($output !== FALSE) {
     return $output;
   }

-  $function = 'taxonomy_term_page';
+  // Try loading an override plugin.
   foreach (module_implements('page_manager_override') as $module) {
     $call = $module . '_page_manager_override';
     if (($rc = $call('term_view')) && function_exists($rc)) {
-      $function = $rc;
-      break;
+      return $rc($node);
     }
   }

-  // Otherwise, fall back.
-  if ($function == 'taxonomy_term_page') {
-    module_load_include('inc', 'taxonomy', 'taxonomy.pages');
+  // Otherwise, fall back to replicating the output normally generated by
+  // taxonomy_term_page().
+
+  // Build breadcrumb based on the hierarchy of the term.
+  $current = (object) array(
+    'tid' => $term->tid,
+  );
+  // @todo This overrides any other possible breadcrumb and is a pure hard-coded
+  //   presumption. Make this behavior configurable per vocabulary or term.
+  $breadcrumb = array();
+  while ($parents = taxonomy_get_parents($current->tid)) {
+    $current = array_shift($parents);
+    $breadcrumb[] = l($current->name, 'taxonomy/term/' . $current->tid);
+  }
+  $breadcrumb[] = l(t('Home'), NULL);
+  $breadcrumb = array_reverse($breadcrumb);
+  drupal_set_breadcrumb($breadcrumb);
+  drupal_add_feed('taxonomy/term/' . $term->tid . '/feed', 'RSS - ' . $term->name);
+
+  if ($nids = taxonomy_select_nodes($term->tid, TRUE, \
variable_get('default_nodes_main', 10))) { +    $nodes = node_load_multiple($nids);
+    $build += node_view_multiple($nodes);
+    $build['pager'] = array(
+      '#theme' => 'pager',
+      '#weight' => 5,
+    );
+  }
+  else {
+    $build['no_content'] = array(
+      '#prefix' => '<p>',
+      '#markup' => t('There is currently no content classified with this term.'),
+      '#suffix' => '</p>',
+    );
   }
-  return $function($term);
+  return $build;
 }

 /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/user_edit.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/user_edit.inc
 index 3d98426..6d0135d 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/user_edit.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/page_manager/plugins/tasks/user_edit.inc
 @@ -52,6 +52,17 @@ function page_manager_user_edit_menu_alter(&$items, $task) {
     $items['user/%user/edit']['page arguments'] = array(1);
     $items['user/%user/edit']['file path'] = $task['path'];
     $items['user/%user/edit']['file'] = $task['file'];
+    if (($categories = _user_categories()) && (count($categories) > 1)) {
+      foreach ($categories as $key => $category) {
+        // 'account' is already handled by the MENU_DEFAULT_LOCAL_TASK.
+        if ($category['name'] != 'account') {
+          $items['user/%user_category/edit/' . $category['name']]['page callback'] = \
'page_manager_user_edit_page'; +          $items['user/%user_category/edit/' . \
$category['name']]['page arguments'] = array(1, 3); +          \
$items['user/%user_category/edit/' . $category['name']]['file path'] = $task['path']; \
+          $items['user/%user_category/edit/' . $category['name']]['file'] = \
$task['file']; +        }
+      }
+    }
   }
   else {
     // automatically disable this task if it cannot be enabled.
@@ -69,7 +80,9 @@ function page_manager_user_edit_menu_alter(&$items, $task) {
  * to run with it. If no one does, it passes through to Drupal core's
  * user edit, which is drupal_get_form('user_profile_form',$account).
  */
-function page_manager_user_edit_page($account) {
+function page_manager_user_edit_page($account, $category = 'account') {
+  // Store the category on the user for later usage.
+  $account->user_category = $category;

   // Load my task plugin:
   $task = page_manager_get_task('user_edit');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_bundle.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_bundle.inc \
                index ed68096..e07a048 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_bundle.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_bundle.inc
 @@ -1,5 +1,4 @@
 <?php
-// $Id$

 /**
  * @file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_field_value.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_field_value.inc
 index 59b01fb..e5857d8 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_field_value.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/access/entity_field_value.inc
 @@ -98,6 +98,7 @@ function ctools_entity_field_value_ctools_access_settings($form, \
&$form_state, $  foreach (element_children($form['settings']) as $element) {
     unset($form['settings'][$element]['#weight']);
   }
+
   // Need more logic here to handle compound fields.
   foreach ($columns as $column) {
     if (isset($conf[$column]) && is_array($conf[$column])) {
@@ -105,12 +106,13 @@ function \
ctools_entity_field_value_ctools_access_settings($form, &$form_state, $  if \
                (is_numeric($delta) && is_array($conf_value)) {
           $form['settings'][$field_name][LANGUAGE_NONE][$delta]['value']['#default_value'] \
= $conf_value['value'];  }
-        else {
-          $form['settings'][$field_name][LANGUAGE_NONE]['#default_value'] = \
                $conf[$column];
-        }
       }
     }
+    else {
+      $form['settings'][$field_name][LANGUAGE_NONE]['#default_value'] = \
$conf[$column]; +    }
   }
+
   return $form;
 }

@@ -148,29 +150,29 @@ function ctools_entity_field_value_ctools_access_check($conf, \
$context, $plugin)  foreach ($field['columns'] as $column => $attributes) {
       $columns[$column] = _field_sql_storage_columnname($field_name, $column);
     }
-    foreach ($conf as $potential_field => $values) {
-      if ($field_name === $potential_field) {

-        $conf_value_array = \
                _ctools_entity_field_value_ctools_access_get_conf_field_values($values, \
                $langcode);
-        if (empty($conf_value_array)) {
-          return FALSE;
-        }
+    if (isset($conf[$field_name])) {
+      // We have settings for this field.
+      $conf_value_array = \
_ctools_entity_field_value_ctools_access_get_conf_field_values($conf[$field_name], \
$langcode); +      if (empty($conf_value_array)) {
+        return FALSE;
+      }

-        // Check field value.
-        foreach ($field_items as $field_value) {
-          foreach ($field_value as $field_column => $value) {
-            // Iterate through config values.
-            foreach ($conf_value_array as $conf_value) {
-              //
-              if ($value == $conf_value[$field_column]) {
-                return TRUE;
-              }
+      // Check field value.
+      foreach ($field_items as $field_value) {
+        foreach ($field_value as $field_column => $value) {
+          // Iterate through config values.
+          foreach ($conf_value_array as $conf_value) {
+            // Check access only for stored in config column values.
+            if (isset($conf_value[$field_column]) && $value == \
$conf_value[$field_column]) { +              return TRUE;
             }
           }
         }
       }
     }
   }
+
   return FALSE;
 }

@@ -221,15 +223,17 @@ function ctools_entity_field_value_ctools_access_summary($conf, \
$context, $plugi  $options   = array('language' => LANGUAGE_NONE);
   ctools_include('fields');
   $display         = field_get_display($instance, $view_mode, $entity);
-  $display['type'] = 'list_default';
-  $function        = $display['module'] . '_field_formatter_view';
-  $items           = isset($entity->{$field_name}[LANGUAGE_NONE]) ? \
                $entity->{$field_name}[LANGUAGE_NONE] : array();
-  if (function_exists($function)) {
-    $elements = $function($entity_type, $entity, $field, $instance, LANGUAGE_NONE, \
                $items, $display);
-  }
-  $value_keys = array_keys($values);
-  foreach ($value_keys as $key => $value) {
-    $values[$value] = $elements[$key]['#markup'];
+  if (isset($display['module'])) {
+    $display['type'] = 'list_default';
+    $function        = $display['module'] . '_field_formatter_view';
+    $items           = isset($entity->{$field_name}[LANGUAGE_NONE]) ? \
$entity->{$field_name}[LANGUAGE_NONE] : array(); +    if (function_exists($function)) \
{ +      $elements = $function($entity_type, $entity, $field, $instance, \
LANGUAGE_NONE, $items, $display); +    }
+    $value_keys = array_keys($values);
+    foreach ($value_keys as $key => $value) {
+      $values[$value] = isset($elements[$key]['#markup']) ? \
$elements[$key]['#markup'] : ''; +    }
   }
   $values = array_merge($keys, $values);
   return t($string, $values);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/arguments/user_edit.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/arguments/user_edit.inc \
                index fc77f80..32b2b81 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/arguments/user_edit.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/arguments/user_edit.inc
 @@ -44,5 +44,4 @@ function ctools_user_edit_context($arg = NULL, $conf = NULL, \
$empty = FALSE) {

   // This will perform a node_access check, so we don't have to.
   return ctools_context_create('user_edit_form', $account);
-  return NULL;
 }
\ No newline at end of file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/block/block.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/block/block.inc
 index f5b0063..9d55e8a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/block/block.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/block/block.inc
 @@ -85,6 +85,10 @@ function _ctools_block_content_type_content_type($module, $delta, \
                $block) {
  * doesn't cache its results anyway.
  */
 function _ctools_block_load_blocks() {
+  if (!module_exists('block')) {
+    return array();
+  }
+
   $blocks = &drupal_static(__FUNCTION__, NULL);
   if (!isset($blocks)) {
     global $theme_key;
@@ -142,8 +146,8 @@ function ctools_block_content_type_render($subtype, $conf) {
     // Allow modules to modify the block before it is viewed, via either
     // hook_block_view_alter() or hook_block_view_MODULE_DELTA_alter().
     drupal_alter(array('block_view', "block_view_{$module}_{$delta}"), $block, \
                $info);
-    $block = (object) $block;
   }
+  $block = (object) $block;

   if (empty($block)) {
     return;
@@ -152,7 +156,7 @@ function ctools_block_content_type_render($subtype, $conf) {
   $block->module = $module;
   $block->delta = $delta;

-  if ($module == 'block') {
+  if ($module == 'block' && !empty($info) && isset($info->title)) {
     $block->title = $info->title;
   }
   else if (isset($block->subject)) {
@@ -280,7 +284,7 @@ function ctools_block_content_type_admin_title($subtype, $conf) {
  */
 function ctools_block_content_type_admin_info($subtype, $conf) {
   list($module, $delta) = _ctools_block_get_module_delta($subtype, $conf);
-  $block = (object) module_invoke($module, 'block', 'view', $delta);
+  $block = (object) module_invoke($module, 'block_view', $delta);

   // Sanitize the block because <script> tags can hose javascript up:
   if (!empty($block->content)) {
@@ -493,11 +497,11 @@ function ctools_user_login_pane_render($subtype, $conf, \
$panel_args, $contexts)  $info->module = $module;
   $info->delta = $delta;

-  $block = new stdClass;
-  $block->subject = t('User login');
+  $block = array();
+  $block['subject'] = t('User login');
   // Manually set the content (rather than invoking block_view) because the
   // block implementation won't render on certain URLs.
-  $block->content = drupal_get_form('user_login_block');
+  $block['content'] = drupal_get_form('user_login_block');

   // Allow modules to modify the block before it is viewed, via either
   // hook_block_view_alter() or hook_block_view_MODULE_DELTA_alter().
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/comment/comment_reply_form.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/comment/comment_reply_form.inc
 new file mode 100644
index 0000000..f31a702
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/comment/comment_reply_form.inc
 @@ -0,0 +1,50 @@
+<?php
+
+/**
+ * @file
+ * Ctools content-type plugin to provide a comment-reply form (replying either
+ * to a node or to another comment).
+ */
+
+// Only provide the plugin in the comment module is enabled.
+if (module_exists('comment')) {
+  $plugin = array(
+    'single' => TRUE,
+    'title' => t('Comment Reply Form'),
+    'icon' => 'icon_comment.png',
+    'description' => t('A form to add a new comment reply.'),
+    'required context' => array(
+        new ctools_context_required(t('Node'), 'node'),
+        new ctools_context_optional(t('Comment'), 'comment'),
+        ),
+    'category' => t('Comment'),
+    'render callback'  => 'ctools_comment_reply_form_content_type_render',
+    'defaults' => array('anon_links' => false),
+  );
+}
+
+function ctools_comment_reply_form_content_type_render($subtype, $conf, $panel_args, \
$context) { +
+  $comment = ($context[1]->identifier == 'No context') ? NULL : \
clone($context[1]->data); +  $block = new stdClass();
+  $block->module = 'comments';
+  if ($comment) $block->delta  = $comment->cid;
+  $block->title = t('Add comment');
+  $node = $context[0]->data;
+
+  module_load_include('inc', 'comment', 'comment.pages');
+  $block->content = comment_reply($node, ($comment ? $comment->cid : NULL));
+
+  return $block;
+}
+
+function ctools_comment_reply_form_content_type_admin_title($subtype, $conf, \
$context) { +  return t('"@s" comment form', array('@s' => $context[0]->identifier));
+}
+
+function ctools_comment_reply_form_content_type_edit_form($form, &$form_state) {
+  return $form;
+}
+
+function ctools_comment_reply_form_content_type_edit_form_submit($form, \
&$form_state) { +}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/form/entity_form_field.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/form/entity_form_field.inc
 index 0183fc6..56fb76a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/form/entity_form_field.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/form/entity_form_field.inc
 @@ -104,7 +104,12 @@ function ctools_entity_form_field_content_type_render($subtype, \
$conf, $panel_ar  function \
ctools_entity_form_field_content_type_admin_title($subtype, $conf, $context) {  \
list($entity_type, $field_name) = explode(':', $subtype, 2);

-  $field = field_info_instance($entity_type, $field_name, \
$context->restrictions['type'][0]); +  if (!empty($context->restrictions)) {
+    $field = field_info_instance($entity_type, $field_name, \
$context->restrictions['type'][0]); +  }
+  else {
+    $field = array('label' => $subtype);
+  }

   return t('"@s" @field form', array('@s' => $context->identifier, '@field' => \
$field['label']));  }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_context/node_title.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_context/node_title.inc
 index 6a52306..bec8982 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_context/node_title.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_context/node_title.inc
 @@ -13,6 +13,9 @@ $plugin = array(
   'category' => t('Node'),
   'defaults' => array(
     'link' => TRUE,
+    'markup' => 'none',
+    'id' => '',
+    'class' => '',
   ),
 );

@@ -30,11 +33,27 @@ function ctools_node_title_content_type_render($subtype, $conf, \
$panel_args, $co  // Load information about the node type.
   $type = node_type_get_type($node);

+  // Generate the title
+  $content = !empty($conf['link']) ? l($node->title, 'node/' . $node->nid) : \
check_plain($node->title); +
+  // Build any surrounding markup if so configured
+  if (isset($conf['markup']) && $conf['markup'] != 'none') {
+    $markup = '<' . $conf['markup'];
+    if (!empty($conf['id'])) {
+      $markup .= ' id="' . $conf['id'] . '"';
+    }
+    if (!empty($conf['class'])) {
+      $markup .= ' class="' . $conf['class'] . '"';
+    }
+    $markup .= '>' . $content . '</' . $conf['markup'] . '>' . "\n";
+    $content = $markup;
+  }
+
   // Build the content type block.
   $block = new stdClass();
   $block->module  = 'node_title';
   $block->title   = $type->title_label;
-  $block->content = !empty($conf['link']) ? l($node->title, 'node/' . $node->nid) : \
check_plain($node->title); +  $block->content = $content;
   $block->delta   = $node->nid;

   return $block;
@@ -46,6 +65,34 @@ function ctools_node_title_content_type_render($subtype, $conf, \
$panel_args, $co  function ctools_node_title_content_type_edit_form($form, \
&$form_state) {  $conf = $form_state['conf'];

+  $form['markup'] = array(
+    '#title' => t('Title tag'),
+    '#type' => 'select',
+    '#options' => array(
+      'none' => t('- No tag -'),
+      'h1' => t('h1'),
+      'h2' => t('h2'),
+      'h3' => t('h3'),
+      'h4' => t('h4'),
+      'h5' => t('h5'),
+      'h6' => t('h6'),
+      'div' => t('div'),
+    ),
+    '#default_value' => $conf['markup'],
+  );
+
+  $form['id'] = array(
+    '#title' => t('CSS id to use'),
+    '#type' => 'textfield',
+    '#default_value' => $conf['id'],
+  );
+
+  $form['class'] = array(
+    '#title' => t('CSS class to use'),
+    '#type' => 'textfield',
+    '#default_value' => $conf['class'],
+  );
+
   $form['link'] = array(
     '#title' => t('Link to node'),
     '#type' => 'checkbox',
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_form/node_form_language.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_form/node_form_language.inc
 new file mode 100644
index 0000000..2043c1c
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/node_form/node_form_language.inc
 @@ -0,0 +1,41 @@
+<?php
+
+/**
+ * Plugins are described by creating a $plugin array which will be used
+ * by the system that includes this file.
+ */
+$plugin = array(
+  'single' => TRUE,
+  'icon' => 'icon_node_form.png',
+  'title' => t('Node form languages'),
+  'description' => t('The language selection form.'),
+  'required context' => new ctools_context_required(t('Form'), 'node_form'),
+  'category' => t('Form'),
+);
+
+function ctools_node_form_language_content_type_render($subtype, $conf, $panel_args, \
&$context) { +  $block = new stdClass();
+  $block->module = t('node_form');
+
+  $block->delta = 'language-options';
+
+  if (isset($context->form)) {
+    if (!empty($context->form['language'])) {
+      $block->content['language'] = $context->form['language'];
+      unset($context->form['language']);
+    }
+  }
+  else {
+    $block->content = t('Node language form.');
+  }
+  return $block;
+}
+
+function ctools_node_form_language_content_type_admin_title($subtype, $conf, \
$context) { +  return t('"@s" node form language field', array('@s' => \
$context->identifier)); +}
+
+function ctools_node_form_language_content_type_edit_form($form, &$form_state) {
+  // provide a blank form so we have a place to have context setting.
+  return $form;
+}
\ No newline at end of file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/page/page_actions.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/page/page_actions.inc
 index e8762d4..c20c408 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/page/page_actions.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/page/page_actions.inc
 @@ -26,7 +26,7 @@ $plugin = array(
  */
 function ctools_page_actions_content_type_render($subtype, $conf, $panel_args) {
   $block = new stdClass();
-  $block->content = menu_local_actions();
+  $block->content = theme('ctools_menu_local_actions_wrapper', array('links' => \
menu_local_actions()));

   return $block;
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc
 index 4585611..dc3124b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/term_context/term_list.inc
 @@ -49,7 +49,7 @@ function ctools_term_list_content_type_render($subtype, $conf, \
$panel_args, $con

       case 'parent':
         $terms = taxonomy_get_parents($term->tid);
-        $block->title = format_plural(count($terms), 'Parent term', 'Parent terms');
+        $block->title = count($terms) == 1 ? t('Parent term') : t('Parent terms');
         break;

       case 'sibling':
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc
 index 3e769d6..6c41882 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/content_types/user_context/user_profile.inc
 @@ -21,7 +21,7 @@ $plugin = array(
  */
 function ctools_user_profile_content_type_render($subtype, $conf, $panel_args, \
$context) {  $account = isset($context->data) ? clone($context->data) : NULL;
-  if (!$account || ($account->access == 0 && !user_access('administer users'))) {
+  if (!$account) {
     return NULL;
   }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/string.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/string.inc \
                index c53acae..0ea5e52 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/string.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/string.inc
@@ -15,7 +15,7 @@ $plugin = array(
   'description' => t('A context that is just a string.'),
   'context' => 'ctools_context_create_string',
   'keyword' => 'string',
-  'no ui' => TRUE,
+  'no ui' => FALSE,
   'context name' => 'string',
   'convert list' => array(
     'raw' => t('Raw string'),
@@ -45,7 +45,7 @@ function ctools_context_create_string($empty, $data = NULL, $conf = \
FALSE) {

   if ($data !== FALSE ) {
     $context->data = $data;
-    $context->title = check_plain($data);
+    $context->title = ($conf) ? check_plain($data['identifier']) : \
check_plain($data);  return $context;
   }
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/user_edit_form.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/user_edit_form.inc
 index 89ee2b4..da0cca0 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/user_edit_form.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/contexts/user_edit_form.inc
 @@ -30,16 +30,29 @@ $plugin = array(
  * are not always created from the UI.
  */
 function ctools_context_create_user_edit_form($empty, $user = NULL, $conf = FALSE) {
-  static $created;
+  // Determine the user category.
+  $category = !empty($conf['category']) ? $conf['category'] : FALSE;
+  unset($conf['category']);
+
+  // Return previously created contexts, per category.
+  static $created = array();
+  if (!empty($created[$category])) {
+    return $created[$category];
+  }
+  // If no category was specified, use the default 'account'.
+  if (!$category) {
+    $category = 'account';
+  }
+
   $context = new ctools_context(array('form', 'user_edit', 'user_form', \
'user_edit_form', 'user', 'entity:user')); +  // Store this context for later.
+  $created[$category] = $context;
   $context->plugin = 'user_edit_form';
-
-  if ($empty || (isset($created) && $created)) {
+  if ($empty) {
     return $context;
   }
-  $created = TRUE;

-  if ($conf) {
+  if (!empty($conf)) {
     // In this case, $user is actually our $conf array.
     $uid = is_array($user) && isset($user['uid']) ? $user['uid'] : (is_object($user) \
? $user->uid : 0);

@@ -58,7 +71,7 @@ function ctools_context_create_user_edit_form($empty, $user = NULL, \
$conf = FALS  if (!empty($user)) {
     $form_id = 'user_profile_form';

-    $form_state = array('want form' => TRUE, 'build_info' => array('args' => \
array($user))); +    $form_state = array('want form' => TRUE, 'build_info' => \
array('args' => array($user, $category)));

     $file = drupal_get_path('module', 'user') . '/user.pages.inc';
     require_once DRUPAL_ROOT . '/' . $file;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/relationships/user_category_edit_form_from_user.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/relationships/user_category_edit_form_from_user.inc
 new file mode 100644
index 0000000..28dac72
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/plugins/relationships/user_category_edit_form_from_user.inc
 @@ -0,0 +1,31 @@
+<?php
+
+/**
+ * @file
+ * Plugin to provide an relationship handler for term from node.
+ */
+
+/**
+ * Plugins are described by creating a $plugin array which will be used
+ * by the system that includes this file.
+ */
+$plugin = array(
+  'title' => t('User category edit form from user'),
+  'keyword' => 'user_category_form',
+  'description' => t('Adds user category edit form from a user context.'),
+  'required context' => new ctools_context_required(t('User'), 'user'),
+  'context' => 'ctools_user_category_edit_form_from_user_context',
+);
+
+/**
+ * Return a new context based on an existing context.
+ */
+function ctools_user_category_edit_form_from_user_context($context, $conf) {
+  if (empty($context->data)) {
+    return ctools_context_create_empty('user_edit_form', NULL);
+  }
+
+  if (isset($context->data->user_category)) {
+    return ctools_context_create('user_edit_form', $context->data, array('category' \
=> $context->data->user_category)); +  }
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/stylizer/stylizer.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/stylizer/stylizer.info index \
                9c7f117..888cc8e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/stylizer/stylizer.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/stylizer/stylizer.info
@@ -5,9 +5,9 @@ package = Chaos tool suite
 dependencies[] = ctools
 dependencies[] = color

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/context.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/context.test index \
                b5f6fb1..bdf14e3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/context.test
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/context.test
@@ -23,6 +23,10 @@ class CtoolsContextKeywordsSubstitutionTestCase extends \
DrupalWebTestCase {

     // Run tests on some edge cases.
     $checks = array(
+      '%node:changed:raw:' => array(
+        "{$node->changed}:",
+        t('Multi-level token has been replaced. Colon left untouched.'),
+      ),
       '%node:title' => array(
         "{$node->title}",
         t('Keyword and converter have been replaced.'),
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info
 index 2d975c3..669c4ae 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_export_test/ctools_export_test.info
 @@ -7,9 +7,9 @@ hidden = TRUE

 files[] = ctools_export.test

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_plugin_test.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_plugin_test.info \
                index 6d5e9cd..5bb61ed 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_plugin_test.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/ctools_plugin_test.info
 @@ -7,11 +7,13 @@ files[] = ctools.plugins.test
 files[] = object_cache.test
 files[] = css.test
 files[] = context.test
+files[] = math_expression.test
+files[] = math_expression_stack.test
 hidden = TRUE

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression.test new \
file mode 100644 index 0000000..730e079
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression.test
@@ -0,0 +1,129 @@
+<?php
+
+/**
+ * @file
+ * Contains \CtoolsMathExpressionTestCase.
+ */
+
+/**
+ * Tests the MathExpression library of ctools.
+ */
+class CtoolsMathExpressionTestCase extends DrupalWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'CTools math expression tests',
+      'description' => 'Test the math expression library of ctools.',
+      'group' => 'Chaos Tools Suite',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('ctools', 'ctools_plugin_test');
+  }
+
+  /**
+   * Returns a random double between 0 and 1.
+   */
+  protected function rand01() {
+    return rand(0, PHP_INT_MAX) / PHP_INT_MAX;
+  }
+
+  /**
+   * A custom assertion with checks the values in a certain range.
+   */
+  protected function assertFloat($first, $second, $delta = 0.0000001, $message = '', \
$group = 'Other') { +    return $this->assert(abs($first - $second) <= $delta, \
$message ? $message : t('Value @first is equal to value @second.', array('@first' => \
var_export($first, TRUE), '@second' => var_export($second, TRUE))), $group); +  }
+
+  public function testArithmetic() {
+    $math_expression = new ctools_math_expr();
+
+    // Test constant expressions.
+    $this->assertEqual($math_expression->e('2'), 2);
+    $random_number = rand(0, 10);
+    $this->assertEqual($random_number, $math_expression->e((string) \
$random_number)); +
+    // Test simple arithmetic.
+    $random_number_a = rand(5, 10);
+    $random_number_b = rand(5, 10);
+    $this->assertEqual($random_number_a + $random_number_b, \
$math_expression->e("$random_number_a + $random_number_b")); +    \
$this->assertEqual($random_number_a - $random_number_b, \
$math_expression->e("$random_number_a - $random_number_b")); +    \
$this->assertEqual($random_number_a * $random_number_b, \
$math_expression->e("$random_number_a * $random_number_b")); +    \
$this->assertEqual($random_number_a / $random_number_b, \
$math_expression->e("$random_number_a / $random_number_b")); +
+    // Test Associative property.
+    $random_number_c = rand(5, 10);
+    $this->assertEqual($math_expression->e("$random_number_a + ($random_number_b + \
$random_number_c)"), $math_expression->e("($random_number_a + $random_number_b) + \
$random_number_c")); +    $this->assertEqual($math_expression->e("$random_number_a * \
($random_number_b * $random_number_c)"), $math_expression->e("($random_number_a * \
$random_number_b) * $random_number_c")); +
+    // Test Commutative property.
+    $this->assertEqual($math_expression->e("$random_number_a + $random_number_b"), \
$math_expression->e("$random_number_b + $random_number_a")); +    \
$this->assertEqual($math_expression->e("$random_number_a * $random_number_b"), \
$math_expression->e("$random_number_b * $random_number_a")); +
+    // Test Distributive property.
+    $this->assertEqual($math_expression->e("($random_number_a + $random_number_b) * \
$random_number_c"), $math_expression->e("($random_number_a * $random_number_c + \
$random_number_b * $random_number_c)")); +
+    $this->assertEqual(pow($random_number_a, $random_number_b), \
$math_expression->e("$random_number_a ^ $random_number_b")); +  }
+
+  public function testBuildInFunctions() {
+    $math_expression = new ctools_math_expr();
+
+    // @todo: maybe run this code multiple times to test different values.
+    $random_double = $this->rand01();
+    $random_int = rand(5, 10);
+    $this->assertFloat(sin($random_double), \
$math_expression->e("sin($random_double)")); +    \
$this->assertFloat(cos($random_double), $math_expression->e("cos($random_double)")); \
+    $this->assertFloat(tan($random_double), \
$math_expression->e("tan($random_double)")); +    \
$this->assertFloat(exp($random_double), $math_expression->e("exp($random_double)")); \
+    $this->assertFloat(sqrt($random_double), \
$math_expression->e("sqrt($random_double)")); +    \
$this->assertFloat(log($random_double), $math_expression->e("ln($random_double)")); + \
$this->assertFloat(round($random_double), \
$math_expression->e("round($random_double)")); +    \
$this->assertFloat(abs($random_double + $random_int), $math_expression->e('abs(' . \
($random_double + $random_int) . ')')); +    $this->assertEqual(round($random_double \
+ $random_int), $math_expression->e('round(' . ($random_double + $random_int) . \
')')); +    $this->assertEqual(ceil($random_double + $random_int), \
$math_expression->e('ceil(' . ($random_double + $random_int) . ')')); +    \
$this->assertEqual(floor($random_double + $random_int), $math_expression->e('floor(' \
. ($random_double + $random_int) . ')')); +
+    // @fixme: you can't run time without an argument.
+    $this->assertFloat(time(), $math_expression->e('time(1)'));
+
+    $random_double_a = $this->rand01();
+    $random_double_b = $this->rand01();
+    // @fixme: max/min don't work at the moment.
+//    $this->assertFloat(max($random_double_a, $random_double_b), \
$math_expression->e("max($random_double_a, $random_double_b)")); +//    \
$this->assertFloat(min($random_double_a, $random_double_b), \
$math_expression->e("min($random_double_a, $random_double_b)")); +  }
+
+  public function testVariables() {
+    $math_expression = new ctools_math_expr();
+
+    $random_number_a = rand(5, 10);
+    $random_number_b = rand(5, 10);
+
+    // Store the first random number and use it on calculations.
+    $math_expression->e("var = $random_number_a");
+    $this->assertEqual($random_number_a + $random_number_b, $math_expression->e("var \
+ $random_number_b")); +    $this->assertEqual($random_number_a * $random_number_b, \
$math_expression->e("var * $random_number_b")); +    \
$this->assertEqual($random_number_a - $random_number_b, $math_expression->e("var - \
$random_number_b")); +    $this->assertEqual($random_number_a / $random_number_b, \
$math_expression->e("var / $random_number_b")); +  }
+
+  public function testCustomFunctions() {
+    $math_expression = new ctools_math_expr();
+
+    $random_number_a = rand(5, 10);
+    $random_number_b = rand(5, 10);
+
+    // Create a one-argument function.
+    $math_expression->e("f(x) = 2 * x");
+    $this->assertEqual($random_number_a * 2, \
$math_expression->e("f($random_number_a)")); +    $this->assertEqual($random_number_b \
* 2, $math_expression->e("f($random_number_b)")); +
+    // Create a two-argument function.
+    $math_expression->e("g(x, y) = 2 * x + y");
+    $this->assertEqual($random_number_a * 2 + $random_number_b, \
$math_expression->e("g($random_number_a, $random_number_b)")); +
+    // Use a custom function in another function.
+    $this->assertEqual(($random_number_a * 2 + $random_number_b) * 2, \
$math_expression->e("f(g($random_number_a, $random_number_b))")); +  }
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression_stack.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression_stack.test \
new file mode 100644 index 0000000..8143a55
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/tests/math_expression_stack.test
 @@ -0,0 +1,63 @@
+<?php
+
+/**
+ * @file
+ * Contains \CtoolsMathExpressionStackTestCase
+ */
+
+/**
+ * Tests the simple MathExpressionStack class.
+ */
+class CtoolsMathExpressionStackTestCase extends DrupalWebTestCase {
+  public static function getInfo() {
+    return array(
+      'name' => 'CTools math expression stack tests',
+      'description' => 'Test the stack class of the math expression library.',
+      'group' => 'Chaos Tools Suite',
+    );
+  }
+
+  public function setUp() {
+    parent::setUp('ctools', 'ctools_plugin_test');
+  }
+
+  public function testStack() {
+    $stack = new ctools_math_expr_stack();
+
+    // Test the empty stack.
+    $this->assertNull($stack->last());
+    $this->assertNull($stack->pop());
+
+    // Add an element and see whether it's the right element.
+    $value = $this->randomName();
+    $stack->push($value);
+    $this->assertIdentical($value, $stack->last());
+    $this->assertIdentical($value, $stack->pop());
+    $this->assertNull($stack->pop());
+
+    // Add multiple elements and see whether they are returned in the right order.
+    $values = array($this->randomName(), $this->randomName(), $this->randomName());
+    foreach ($values as $value) {
+      $stack->push($value);
+    }
+
+    // Test the different elements at different positions with the last() method.
+    $count = count($values);
+    foreach ($values as $key => $value) {
+      $this->assertEqual($value, $stack->last($count - $key));
+    }
+
+    // Pass in a non-valid number to last.
+    $non_valid_number = rand(10, 20);
+    $this->assertNull($stack->last($non_valid_number));
+
+    // Test the order of the poping.
+    $values = array_reverse($values);
+    foreach ($values as $key => $value) {
+      $this->assertEqual($stack->last(), $value);
+      $this->assertEqual($stack->pop(), $value);
+    }
+    $this->assertNull($stack->pop());
+
+  }
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views.inc
 index deea741..262d81d 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views.inc
 @@ -144,7 +144,7 @@ function views_content_views_content_type_render($subtype, \
$conf, $panel_args, $  list($cid, $converter) = explode('.', $context_info, 2);
       }
       if (!empty($contexts[$cid])) {
-        $arg = ctools_context_convert_context($contexts[$cid], $converter);
+        $arg = ctools_context_convert_context($contexts[$cid], $converter, \
array('sanitize' => FALSE));  array_splice($args, $count, 0, array($arg));
       }
       else {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc
 index a27a26c..10a6a83 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/content_types/views_panes.inc
 @@ -156,7 +156,7 @@ function views_content_views_panes_content_type_render($subtype, \
$conf, $panel_a  if (isset($contexts[$key])) {
           if (strpos($argument['context'], '.')) {
             list($context, $converter) = explode('.', $argument['context'], 2);
-            $args[] = ctools_context_convert_context($contexts[$key], $converter);
+            $args[] = ctools_context_convert_context($contexts[$key], $converter, \
array('sanitize' => FALSE));  }
           else {
             $args[] = $contexts[$key]->argument;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/relationships/view_from_argument.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/relationships/view_from_argument.inc
 index 4da5fe5..cefc6db 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/relationships/view_from_argument.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/plugins/relationships/view_from_argument.inc
 @@ -1,5 +1,4 @@
 <?php
-// $Id$

 /**
  * @file
@@ -77,7 +76,7 @@ function views_content_view_from_argument_context($contexts, $conf) \
{  if (isset($contexts [$key])) {
           if (strpos($argument['context'], '.')) {
             list($context, $converter) = explode('.', $argument['context'], 2);
-            $args[] = ctools_context_convert_context($contexts[$key], $converter);
+            $args[] = ctools_context_convert_context($contexts[$key], $converter, \
array('sanitize' => FALSE));  }
           else {
             $args[] = $contexts[$key]->argument;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/views_content.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/views_content.info \
                index cd7ce44..1782d37 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/views_content.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ctools/views_content/views_content.info
 @@ -9,9 +9,9 @@ files[] = \
plugins/views/views_content_plugin_display_ctools_context.inc  files[] = \
plugins/views/views_content_plugin_display_panel_pane.inc  files[] = \
plugins/views/views_content_plugin_style_ctools_context.inc

-; Information added by drupal.org packaging script on 2012-08-18
-version = "7.x-1.2"
+; Information added by drupal.org packaging script on 2013-04-03
+version = "7.x-1.3"
 core = "7.x"
 project = "ctools"
-datestamp = "1345319204"
+datestamp = "1365013512"



commit 9ec77367e92d9c9dd55f6b4f3d88b09f18e56b49
Author: Torsten Grote <grote@kolabsys.com>
Date:   Thu Jan 23 15:16:54 2014 +0100

    bring most modules up to date

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_devel/admin_devel.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_devel/admin_devel.info \
                index df04a54..6408a1b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_devel/admin_devel.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_devel/admin_devel.info
 @@ -4,9 +4,9 @@ package = Administration
 core = 7.x
 scripts[] = admin_devel.js

-; Information added by drupal.org packaging script on 2012-05-17
-version = "7.x-3.0-rc3"
+; Information added by drupal.org packaging script on 2013-01-31
+version = "7.x-3.0-rc4"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1337292349"
+datestamp = "1359651687"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu-rtl.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu-rtl.css index \
                6004de5..9414dcf 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu-rtl.css
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu-rtl.css
@@ -1,50 +1,64 @@

 #admin-menu {
-  direction: rtl;
   text-align: right;
 }
-#admin-menu li.admin-menu-action {
+#admin-menu .dropdown .admin-menu-users a {
+  background-position: 10% center;
+  padding-left: 22px;
+  padding-right: 0;
+}
+#admin-menu .dropdown .admin-menu-action,
+#admin-menu .dropdown .admin-menu-search {
   float: left;
 }
-#admin-menu li.admin-menu-action a {
+#admin-menu .dropdown .admin-menu-action a {
   border-left: none;
   border-right: 1px solid #323232;
 }

 /* All lists */
-#admin-menu ul a {
+#admin-menu a {
+  text-align: right;
+}
+#admin-menu .dropdown a {
   border-left: 1px solid #323232;
   border-right: 0;
-  padding: 4px 8px;
-  text-align: right;
+}
+#admin-menu .dropdown .admin-menu-tab a {
+  border-left: 1px solid #52565E;
+  border-right: 0;
+}
+#admin-menu .dropdown li li a {
+  border-left: 0;
 }

 /* All list items */
-#admin-menu li {
+#admin-menu .dropdown li {
   float: right;
-  position: relative;
 }
-#admin-menu li li {
-  position: static;
+#admin-menu .dropdown li li {
 }

 /* Second-level lists */
-#admin-menu li ul {
-  right: 0;
+#admin-menu .dropdown li ul {
+  left: auto;
+  right: -999em;
 }

 /* Third-and-above-level lists */
-#admin-menu li li.expandable ul {
-  margin: -20px 160px 0 0;
+#admin-menu .dropdown li li.expandable ul {
+  margin-left: 0;
+  margin-right: 160px;
 }

 /* Lists nested under hovered list items */
-#admin-menu li.admin-menu-action:hover ul {
+#admin-menu .dropdown li.admin-menu-action:hover ul {
   left: 0 !important;
   right: auto;
 }

 /* Second-and-more-level hovering */
-#admin-menu li li.expandable {
-  background: #45454A url(images/arrow-rtl.png) no-repeat 5px 7px;
+#admin-menu .dropdown li li.expandable {
+  background-image: url(images/arrow-rtl.png);
+  background-position: 5px 6px;
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.admin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.admin.js index \
                6adf3a8..9ee9f36 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.admin.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.admin.js
@@ -1,6 +1,20 @@
 (function($) {

 /**
+ * Live preview of Administration menu components.
+ */
+Drupal.behaviors.adminMenuLivePreview = {
+  attach: function (context, settings) {
+    $('input[name^="admin_menu_components"]', \
context).once('admin-menu-live-preview') +      .change(function () {
+        var target = $(this).attr('rel');
+        $(target).toggle(this.checked);
+      })
+      .trigger('change');
+  }
+};
+
+/**
  * Automatically enables required permissions on demand.
  *
  * Many users do not understand that two permissions are required for the
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.api.php index \
                46646ae..2d212fb 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.api.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.api.php
@@ -41,11 +41,21 @@ function hook_admin_menu_map() {
 /**
  * Add to the administration menu content before it is rendered.
  *
+ * Only use this hook to add new data to the menu structure. Use
+ * hook_admin_menu_output_alter() to *alter* existing data.
+ *
  * @param array $content
- *   A structured array suitable for drupal_render(), containing:
+ *   A structured array suitable for drupal_render(), potentially containing:
  *   - menu: The administrative menu of links below the path 'admin/*'.
  *   - icon: The icon menu.
- *   - user: The user items and links.
+ *   - account: The user account name and log out link.
+ *   - users: The user counter.
+ *   Additionally, these special properties:
+ *   - #components: The actual components contained in $content are configurable
+ *     and depend on the 'admin_menu_components' configuration value. #components
+ *     holds a copy of that for convenience.
+ *   - #complete: A Boolean indicating whether the complete menu should be built,
+ *     ignoring the current configuration in #components.
  *   Passed by reference.
  *
  * @see hook_admin_menu_output_alter()
@@ -55,45 +65,77 @@ function hook_admin_menu_map() {
  * @see theme_admin_menu_links()
  */
 function hook_admin_menu_output_build(&$content) {
+  // In case your implementation provides a configurable component, check
+  // whether the component should be displayed:
+  if (empty($content['#components']['shortcut.links']) && !$content['#complete']) {
+    return;
+  }
+
+  // Add new top-level item to the menu.
+  if (isset($content['menu'])) {
+    $content['menu']['myitem'] = array(
+      '#title' => t('My item'),
+      // #attributes are used for list items (LI).
+      '#attributes' => array('class' => array('mymodule-myitem')),
+      '#href' => 'mymodule/path',
+      // #options are passed to l().
+      '#options' => array(
+        'query' => drupal_get_destination(),
+        // Apply a class on the link (anchor).
+        'attributes' => array('class' => array('myitem-link-anchor')),
+      ),
+      // #weight controls the order of links in the resulting item list.
+      '#weight' => 50,
+    );
+  }
+  // Add link to the icon menu to manually run cron.
+  if (isset($content['icon'])) {
+    $content['icon']['myitem']['cron'] = array(
+      '#title' => t('Run cron'),
+      '#access' => user_access('administer site configuration'),
+      '#href' => 'admin/reports/status/run-cron',
+    );
+  }
 }

 /**
  * Change the administration menu content before it is rendered.
  *
+ * Only use this hook to alter existing data in the menu structure. Use
+ * hook_admin_menu_output_build() to *add* new data.
+ *
  * @param array $content
- *   A structured array suitable for drupal_render(), containing:
- *   - menu: The administrative menu of links below the path 'admin/*'.
- *   - icon: The icon menu.
- *   - user: The user items and links.
- *   Passed by reference.
+ *   A structured array suitable for drupal_render(). Passed by reference.
  *
  * @see hook_admin_menu_output_build()
- * @see admin_menu_links_menu()
- * @see admin_menu_links_icon()
- * @see admin_menu_links_user()
- * @see theme_admin_menu_links()
  */
 function hook_admin_menu_output_alter(&$content) {
-  // Add new top-level item.
-  $content['menu']['myitem'] = array(
-    '#title' => t('My item'),
-    // #attributes are used for list items (LI).
-    '#attributes' => array('class' => array('mymodule-myitem')),
-    '#href' => 'mymodule/path',
-    // #options are passed to l(). Note that you can apply 'attributes' for
-    // links (A) here.
-    '#options' => array(
-      'query' => drupal_get_destination(),
-    ),
-    // #weight controls the order of links in the resulting item list.
-    '#weight' => 50,
-  );
-  // Add link to manually run cron.
-  $content['menu']['myitem']['cron'] = array(
-    '#title' => t('Run cron'),
-    '#access' => user_access('administer site configuration'),
-    '#href' => 'admin/reports/status/run-cron',
-  );
+}
+
+/**
+ * Return content to be replace via JS in the cached menu output.
+ *
+ * @param bool $complete
+ *   A Boolean indicating whether all available components of the menu will be
+ *   output and the cache will be skipped.
+ *
+ * @return array
+ *   An associative array whose keys are jQuery selectors and whose values are
+ *   strings containing the replacement content.
+ */
+function hook_admin_menu_replacements($complete) {
+  $items = array();
+  // If the complete menu is output, then it is uncached and will contain the
+  // current counts already.
+  if (!$complete) {
+    // Check whether the users count component is enabled.
+    $components = variable_get('admin_menu_components', array());
+    if (!empty($components['admin_menu.users']) && ($user_count = \
admin_menu_get_user_count())) { +      // Replace the counters in the cached menu \
output with current counts. +      $items['.admin-menu-users a'] = $user_count;
+    }
+  }
+  return $items;
 }

 /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.css index \
                0ceec28..fd86dd7 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.css
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.css
@@ -34,7 +34,8 @@
   background: transparent url(images/icon_users.png) 90% center no-repeat;
   padding-right: 22px;
 }
-#admin-menu .dropdown .admin-menu-action {
+#admin-menu .dropdown .admin-menu-action,
+#admin-menu .dropdown .admin-menu-search {
   float: right;
 }
 #admin-menu .dropdown .admin-menu-action a {
@@ -57,31 +58,33 @@ body.admin-menu {
 #admin-menu .dropdown {
   position: static;
 }
-#admin-menu a {
+#admin-menu a,
+#admin-menu li > span {
   background: transparent none;
   border: none;
   color: #EEE;
   font-weight: normal;
-  text-align: left;
+  text-align: left; /* LTR */
   text-decoration: none;
 }
-#admin-menu .dropdown a {
-  border-right: 1px solid #323232;
+#admin-menu .dropdown a,
+#admin-menu .dropdown li > span {
+  border-right: 1px solid #323232; /* LTR */
   display: block;
   padding: 4px 8px;
 }
 #admin-menu .dropdown .admin-menu-tab a {
-  border-right: 1px solid #52565E;
+  border-right: 1px solid #52565E; /* LTR */
 }
 #admin-menu .dropdown li li a {
-  border-right: none;
+  border-right: none; /* LTR */
   border-top: 1px solid #323232;
 }

 /* All list items */
 #admin-menu .dropdown li {
   background-image: none;
-  float: left;
+  float: left; /* LTR */
   height: 100%;
   list-style-image: none;
   list-style-type: none;
@@ -108,7 +111,7 @@ body.admin-menu {
 #admin-menu .dropdown li ul {
   background: none;
   display: none;
-  left: -999em;
+  left: -999em; /* LTR */
   line-height: 1.2em;
   margin: 0;
   position: absolute;
@@ -117,7 +120,7 @@ body.admin-menu {

 /* Third-and-above-level lists */
 #admin-menu .dropdown li li.expandable ul {
-  margin: -20px 0 0 160px;
+  margin: -20px 0 0 160px; /* LTR */
 }

 #admin-menu .dropdown li:hover ul ul,
@@ -129,7 +132,7 @@ body.admin-menu {
 #admin-menu .dropdown li.iehover ul ul ul ul,
 #admin-menu .dropdown li.iehover ul ul ul ul ul {
   display: none;
-  left: -999em;
+  left: -999em; /* LTR */
 }

 /* Lists nested under hovered list items */
@@ -144,10 +147,10 @@ body.admin-menu {
 #admin-menu .dropdown li li li li.iehover ul,
 #admin-menu .dropdown li li li li li.iehover ul {
   display: block;
-  left: auto;
+  left: auto; /* LTR */
 }
 #admin-menu .dropdown li.admin-menu-action:hover ul {
-  right: 0;
+  right: 0; /* LTR */
 }

 /* Second-and-more-level hovering */
@@ -184,6 +187,42 @@ body.admin-menu {
   width: 90%; /* IE */
 }

+/* Search form */
+#admin-menu .admin-menu-search .form-item {
+  margin: 0;
+  padding: 0;
+}
+#admin-menu .admin-menu-search input {
+  background: #fff none center right no-repeat;
+  border: none;
+  -webkit-border-radius: 5px;
+  -moz-border-radius: 5px;
+  border-radius: 5px;
+  font-size: 10px;
+  margin: 1px 0;
+  outline: none;
+  padding: 2px 22px 2px 4px;
+  width: 158px;
+}
+
+#admin-menu .dropdown .admin-menu-search-results {
+  display: block !important;
+  left: auto !important;
+  top: 100%;
+}
+#admin-menu .admin-menu-search-results,
+#admin-menu .admin-menu-search-results li {
+  width: 186px;
+}
+
+#admin-menu li.highlight {
+  background-color: #eee !important;
+}
+#admin-menu li.highlight > a {
+  border-color: #ccc !important;
+  color: #111 !important;
+}
+
 /* #210615: Mozilla on Mac fix */
 html.js fieldset.collapsible div.fieldset-wrapper {
   overflow: visible;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.drush.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.drush.inc deleted \
file mode 100644 index a8469a9..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.drush.inc
+++ /dev/null
@@ -1,14 +0,0 @@
-<?php
-
-/**
- * Implments hook_drush_exit()
- *
- * This is necessary because drush skips the normal hook_exit() where
- * we build the links.
- */
-function admin_menu_drush_exit() {
-  if (function_exists('admin_menu_exit')) {
-    admin_menu_exit();
-  }
-}
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.inc index \
                31efaea..e212970 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.inc
@@ -425,6 +425,7 @@ function admin_menu_links_icon() {

   $links = array(
     '#theme' => 'admin_menu_links',
+    '#wrapper_attributes' => array('id' => 'admin-menu-icon'),
     '#weight' => -100,
   );
   $links['icon'] = array(
@@ -495,52 +496,47 @@ function admin_menu_links_icon() {
       ),
     );
   }
+
   // Add link to toggle developer modules (performance).
   $saved_state = variable_get('admin_menu_devel_modules_enabled', NULL);
   $links['icon']['toggle-modules'] = array(
     '#title' => isset($saved_state) ? t('Enable developer modules') : t('Disable \
developer modules'),  '#weight' => 88,
-    '#access' => user_access('administer site configuration'),
+    '#access' => user_access('administer modules'),
     '#href' => 'admin_menu/toggle-modules',
     '#options' => array(
       'query' => $destination + array('token' => \
drupal_get_token('admin_menu/toggle-modules')),  ),
   );

-  // Add Devel module links.
+  // Add Devel module menu links.
   if (module_exists('devel')) {
-    // Add variable editor.
-    $links['icon']['devel-variables'] = array(
-      '#title' => t('Variable editor'),
-      '#weight' => 20,
-      '#access' => user_access('access devel information'),
-      '#href' => 'devel/variable',
-    );
+    $devel_tree = menu_build_tree('devel');
+    $devel_links = admin_menu_links_menu($devel_tree);
+    if (element_get_visible_children($devel_links)) {
+      $links['icon']['devel'] = array(
+        '#title' => t('Development'),
+        '#weight' => 30,
+      ) + $devel_links;
+    }
   }

   return $links;
 }

 /**
- * Build user/action links; mostly account information and links.
+ * Builds the account links.
  *
  * @see theme_admin_menu_links()
  */
-function admin_menu_links_user() {
+function admin_menu_links_account() {
   $links = array(
     '#theme' => 'admin_menu_links',
+    '#wrapper_attributes' => array('id' => 'admin-menu-account'),
     '#weight' => 100,
   );
-  // Add link to show current authenticated/anonymous users.
-  $links['user-counter'] = array(
-    '#title' => admin_menu_get_user_count(),
-    '#description' => t('Current anonymous / authenticated users'),
-    '#weight' => -90,
-    '#attributes' => array('class' => array('admin-menu-action', \
                'admin-menu-users')),
-    '#href' => (user_access('administer users') ? 'admin/people/people' : 'user'),
-  );
   $links['account'] = array(
-    '#title' => $GLOBALS['user']->name,
+    '#title' => format_username($GLOBALS['user']),
     '#weight' => -99,
     '#attributes' => array('class' => array('admin-menu-action', \
'admin-menu-account')),  '#href' => 'user/' . $GLOBALS['user']->uid,
@@ -551,7 +547,6 @@ function admin_menu_links_user() {
     '#attributes' => array('class' => array('admin-menu-action')),
     '#href' => 'user/logout',
   );
-
   // Add Devel module switch user links.
   $switch_links = module_invoke('devel', 'switch_user_list');
   if (!empty($switch_links) && count($switch_links) > 1) {
@@ -567,7 +562,51 @@ function admin_menu_links_user() {
       );
     }
   }
+  return $links;
+}

+/**
+ * Builds user counter.
+ *
+ * @see theme_admin_menu_links()
+ */
+function admin_menu_links_users() {
+  $links = array(
+    '#theme' => 'admin_menu_links',
+    '#wrapper_attributes' => array('id' => 'admin-menu-users'),
+    '#weight' => 150,
+  );
+  // Add link to show current authenticated/anonymous users.
+  $links['user-counter'] = array(
+    '#title' => admin_menu_get_user_count(),
+    '#description' => t('Current anonymous / authenticated users'),
+    '#weight' => -90,
+    '#attributes' => array('class' => array('admin-menu-action', \
'admin-menu-users')), +    '#href' => (user_access('administer users') ? \
'admin/people/people' : 'user'), +  );
+  return $links;
+}
+
+/**
+ * Build search widget.
+ *
+ * @see theme_admin_menu_links()
+ */
+function admin_menu_links_search() {
+  $links = array(
+    '#theme' => 'admin_menu_links',
+    '#wrapper_attributes' => array('id' => 'admin-menu-search'),
+    '#weight' => 180,
+  );
+  $links['search'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Search'),
+    '#title_display' => 'attribute',
+    '#attributes' => array(
+      'placeholder' => t('Search'),
+      'class' => array('admin-menu-search'),
+    ),
+  );
   return $links;
 }

@@ -584,20 +623,43 @@ function admin_menu_theme_settings() {
   $form['admin_menu_position_fixed'] = array(
     '#type' => 'checkbox',
     '#title' => t('Keep menu at top of page'),
-    '#default_value' => variable_get('admin_menu_position_fixed', 0),
+    '#default_value' => variable_get('admin_menu_position_fixed', 1),
     '#description' => t('Displays the administration menu always at the top of the \
browser viewport (even when scrolling the page).'),  );
   // @todo Re-confirm this with latest browser versions.
   $form['admin_menu_position_fixed']['#description'] .= '<br /><strong>' . t('In \
some browsers, this setting may result in a malformed page, an invisible cursor, \
                non-selectable elements in forms, or other issues.') . '</strong>';
-  $form['admin_menu_cache_client'] = array(
-    '#type' => 'checkbox',
-    '#title' => t('Cache menu in client-side browser'),
-    '#default_value' => variable_get('admin_menu_cache_client', 1),
+
+  $form['advanced'] = array(
+    '#type' => 'vertical_tabs',
+    '#title' => t('Advanced settings'),
   );

+  $form['plugins'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Plugins'),
+    '#group' => 'advanced',
+  );
+  $form['plugins']['admin_menu_components'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('Enabled components'),
+    '#options' => array(
+      'admin_menu.icon' => t('Icon menu'),
+      'admin_menu.menu' => t('Administration menu'),
+      'admin_menu.search' => t('Search bar'),
+      'admin_menu.users' => t('User counts'),
+      'admin_menu.account' => t('Account links'),
+    ),
+  );
+  $form['plugins']['admin_menu_components']['#default_value'] = \
array_keys(array_filter(variable_get('admin_menu_components', \
$form['plugins']['admin_menu_components']['#options']))); +
+  $process = element_info_property('checkboxes', '#process', array());
+  $form['plugins']['admin_menu_components']['#process'] = \
array_merge(array('admin_menu_settings_process_components'), $process); +  \
$form['#attached']['js'][] = drupal_get_path('module', 'admin_menu') . \
'/admin_menu.admin.js'; +
   $form['tweaks'] = array(
     '#type' => 'fieldset',
-    '#title' => t('Advanced settings'),
+    '#title' => t('System tweaks'),
+    '#group' => 'advanced',
   );
   $form['tweaks']['admin_menu_tweak_modules'] = array(
     '#type' => 'checkbox',
@@ -625,6 +687,16 @@ function admin_menu_theme_settings() {
     '#description' => t('Moves the tabs on all pages into the administration menu. \
Only possible for themes using the CSS classes <code>tabs primary</code> and \
<code>tabs secondary</code>.'),  );

+  $form['performance'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Performance'),
+    '#group' => 'advanced',
+  );
+  $form['performance']['admin_menu_cache_client'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Cache menu in client-side browser'),
+    '#default_value' => variable_get('admin_menu_cache_client', 1),
+  );
   // Fetch all available modules manually, since module_list() only returns
   // currently enabled modules, which makes this setting pointless if developer
   // modules are currently disabled.
@@ -638,7 +710,7 @@ function admin_menu_theme_settings() {
   }
   $devel_modules = variable_get('admin_menu_devel_modules', \
_admin_menu_developer_modules());  $devel_modules = array_intersect_key($all_modules, \
                array_flip($devel_modules));
-  $form['tweaks']['admin_menu_devel_modules_skip'] = array(
+  $form['performance']['admin_menu_devel_modules_skip'] = array(
     '#type' => 'checkboxes',
     '#title' => t('Developer modules to keep enabled'),
     '#default_value' => variable_get('admin_menu_devel_modules_skip', array()),
@@ -653,6 +725,32 @@ function admin_menu_theme_settings() {
 }

 /**
+ * #process callback for component plugin form element in \
admin_menu_theme_settings(). + */
+function admin_menu_settings_process_components($element) {
+  // Assign 'rel' attributes to all options to achieve a live preview.
+  // Unfortunately, #states relies on wrapping .form-wrapper classes, so it
+  // cannot be used here.
+  foreach ($element['#options'] as $key => $label) {
+    if (!isset($element[$key]['#attributes']['rel'])) {
+      $id = preg_replace('/[^a-z]/', '-', $key);
+      $element[$key]['#attributes']['rel'] = '#' . $id;
+    }
+  }
+  return $element;
+}
+
+/**
+ * Form validation handler for admin_menu_theme_settings().
+ */
+function admin_menu_theme_settings_validate(&$form, &$form_state) {
+  // Change the configured components to Boolean values.
+  foreach ($form_state['values']['admin_menu_components'] as $component => \
&$enabled) { +    $enabled = (bool) $enabled;
+  }
+}
+
+/**
  * Implementation of hook_form_FORM_ID_alter().
  *
  * Extends Devel module with Administration menu developer settings.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.info index \
                bac8b2e..ee58c66 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.info
@@ -8,9 +8,9 @@ configure = admin/config/administration/admin_menu
 dependencies[] = system (>7.10)
 files[] = tests/admin_menu.test

-; Information added by drupal.org packaging script on 2012-05-17
-version = "7.x-3.0-rc3"
+; Information added by drupal.org packaging script on 2013-01-31
+version = "7.x-3.0-rc4"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1337292349"
+datestamp = "1359651687"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.install index \
                acbd06b..70e31c6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.install
@@ -32,6 +32,7 @@ function admin_menu_install() {
  */
 function admin_menu_uninstall() {
   // Delete variables.
+  variable_del('admin_menu_components');
   variable_del('admin_menu_devel_modules');
   variable_del('admin_menu_devel_modules_enabled');
   variable_del('admin_menu_devel_modules_skip');
@@ -102,7 +103,9 @@ function admin_menu_update_7303() {
  */
 function admin_menu_update_7304() {
   // Remove the custom menu used by 6.x-1.x.
-  db_delete('menu_custom')->condition('menu_name', 'admin_menu')->execute();
+  if (db_table_exists('menu_custom')) {
+    db_delete('menu_custom')->condition('menu_name', 'admin_menu')->execute();
+  }

   // 6.x-1.x cloned the entire link structure below the path 'admin' into a
   // separate 'menu_name' "admin_menu" with 'module' "admin_menu". 6.x-3.x and
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.js index \
                169eba8..de0bb90 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.js
@@ -85,10 +85,11 @@ Drupal.behaviors.adminMenuCollapsePermissions = {
           });
         });
       });
-      // Get fragment from current URL.
-      var fragment = window.location.hash || '#';
       // Collapse all but the targeted permission rows set.
-      $modules.not(':has(' + fragment + ')').trigger('click.admin-menu');
+      if (window.location.hash.length) {
+        $modules = $modules.not(':has(' + window.location.hash + ')');
+      }
+      $modules.trigger('click.admin-menu');
     }
   }
 };
@@ -252,6 +253,144 @@ Drupal.admin.behaviors.hover = function (context, settings, \
$adminMenu) {  };

 /**
+ * Apply the search bar functionality.
+ */
+Drupal.admin.behaviors.search = function (context, settings, $adminMenu) {
+  // @todo Add a HTML ID.
+  var $input = $('input.admin-menu-search', $adminMenu);
+  // Initialize the current search needle.
+  var needle = $input.val();
+  // Cache of all links that can be matched in the menu.
+  var links;
+  // Minimum search needle length.
+  var needleMinLength = 2;
+  // Append the results container.
+  var $results = $('<div />').insertAfter($input);
+
+  /**
+   * Executes the search upon user input.
+   */
+  function keyupHandler() {
+    var matches, $html, value = $(this).val();
+    // Only proceed if the search needle has changed.
+    if (value !== needle) {
+      needle = value;
+      // Initialize the cache of menu links upon first search.
+      if (!links && needle.length >= needleMinLength) {
+        // @todo Limit to links in dropdown menus; i.e., skip menu additions.
+        links = buildSearchIndex($adminMenu.find('li:not(.admin-menu-action, \
.admin-menu-action li) > a')); +      }
+      // Empty results container when deleting search text.
+      if (needle.length < needleMinLength) {
+        $results.empty();
+      }
+      // Only search if the needle is long enough.
+      if (needle.length >= needleMinLength && links) {
+        matches = findMatches(needle, links);
+        // Build the list in a detached DOM node.
+        $html = buildResultsList(matches);
+        // Display results.
+        $results.empty().append($html);
+      }
+    }
+  }
+
+  /**
+   * Builds the search index.
+   */
+  function buildSearchIndex($links) {
+    return $links
+      .map(function () {
+        var text = (this.textContent || this.innerText);
+        // Skip menu entries that do not contain any text (e.g., the icon).
+        if (typeof text === 'undefined') {
+          return;
+        }
+        return {
+          text: text,
+          textMatch: text.toLowerCase(),
+          element: this
+        };
+      });
+  }
+
+  /**
+   * Searches the index for a given needle and returns matching entries.
+   */
+  function findMatches(needle, links) {
+    var needleMatch = needle.toLowerCase();
+    // Select matching links from the cache.
+    return $.grep(links, function (link) {
+      return link.textMatch.indexOf(needleMatch) !== -1;
+    });
+  }
+
+  /**
+   * Builds the search result list in a detached DOM node.
+   */
+  function buildResultsList(matches) {
+    var $html = $('<ul class="dropdown admin-menu-search-results" />');
+    $.each(matches, function () {
+      var result = this.text;
+      var $element = $(this.element);
+
+      // Check whether there is a top-level category that can be prepended.
+      var $category = $element.closest('#admin-menu-wrapper > ul > li');
+      var categoryText = $category.find('> a').text()
+      if ($category.length && categoryText) {
+        result = categoryText + ': ' + result;
+      }
+
+      var $result = $('<li><a href="' + $element.attr('href') + '">' + result + \
'</a></li>'); +      $result.data('original-link', $(this.element).parent());
+      $html.append($result);
+    });
+    return $html;
+  }
+
+  /**
+   * Highlights selected result.
+   */
+  function resultsHandler(e) {
+    var $this = $(this);
+    var show = e.type === 'mouseenter' || e.type === 'focusin';
+    $this.trigger(show ? 'showPath' : 'hidePath', [this]);
+  }
+
+  /**
+   * Closes the search results and clears the search input.
+   */
+  function resultsClickHandler(e, link) {
+    var $original = $(this).data('original-link');
+    $original.trigger('mouseleave');
+    $input.val('').trigger('keyup');
+  }
+
+  /**
+   * Shows the link in the menu that corresponds to a search result.
+   */
+  function highlightPathHandler(e, link) {
+    if (link) {
+      var $original = $(link).data('original-link');
+      var show = e.type === 'showPath';
+      // Toggle an additional CSS class to visually highlight the matching link.
+      // @todo Consider using same visual appearance as regular hover.
+      $original.toggleClass('highlight', show);
+      $original.trigger(show ? 'mouseenter' : 'mouseleave');
+    }
+  }
+
+  // Attach showPath/hidePath handler to search result entries.
+  $results.delegate('li', 'mouseenter mouseleave focus blur', resultsHandler);
+  // Hide the result list after a link has been clicked, useful for overlay.
+  $results.delegate('li', 'click', resultsClickHandler);
+  // Attach hover/active highlight behavior to search result entries.
+  $adminMenu.delegate('.admin-menu-search-results li', 'showPath hidePath', \
highlightPathHandler); +  // Attach the search input event handler.
+  $input.bind('keyup search', keyupHandler);
+};
+
+/**
  * @} End of "defgroup admin_behaviors".
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.module index \
                4f4f056..8a8dee1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu.module
@@ -89,7 +89,7 @@ function admin_menu_menu() {
   // Menu link callbacks.
   $items['admin_menu/toggle-modules'] = array(
     'page callback' => 'admin_menu_toggle_modules',
-    'access arguments' => array('administer site configuration'),
+    'access arguments' => array('administer modules'),
     'type' => MENU_CALLBACK,
     'file' => 'admin_menu.inc',
   );
@@ -182,10 +182,16 @@ function admin_menu_page_build(&$page) {
   // Destination query strings are applied via JS.
   $settings['destination'] = drupal_http_build_query(drupal_get_destination());

+  // Determine whether we need to show all components and disable all caches.
+  $complete = FALSE;
+  if (current_path() == 'admin/config/administration/admin_menu' && \
$_SERVER['REQUEST_METHOD'] == 'GET') { +    $complete = TRUE;
+  }
+
   // If the client supports JavaScript and we have a cached menu for the current
   // user, only output the hash for the client-side HTTP cache callback URL.
   $cid = 'admin_menu:' . $user->uid . ':' . session_id() . ':' . \
                $language->language;
-  if (!empty($_COOKIE['has_js']) && ($hash = admin_menu_cache_get($cid))) {
+  if (!$complete && !empty($_COOKIE['has_js']) && ($hash = \
admin_menu_cache_get($cid))) {  $settings['hash'] = $hash;
     // The base path to use for cache requests depends on whether clean URLs
     // are enabled, whether Drupal runs in a sub-directory, and on the language
@@ -198,10 +204,10 @@ function admin_menu_page_build(&$page) {
   }
   // Otherwise, add the full menu to the page.
   else {
-    $page['page_bottom']['admin_menu']['#markup'] = admin_menu_output();
+    $page['page_bottom']['admin_menu']['#markup'] = admin_menu_output($complete);
   }

-  $replacements = module_invoke_all('admin_menu_replacements');
+  $replacements = module_invoke_all('admin_menu_replacements', $complete);
   if (!empty($replacements)) {
     $settings['replacements'] = $replacements;
   }
@@ -213,7 +219,7 @@ function admin_menu_page_build(&$page) {
     // @see http://drupal.org/node/1473548, http://drupal.org/node/1194528
     //$page['#attributes']['class'][] = 'admin-menu';
   }
-  if ($setting = variable_get('admin_menu_position_fixed', 0)) {
+  if ($setting = variable_get('admin_menu_position_fixed', 1)) {
     $settings['position_fixed'] = $setting;

     // In fixed positioning, supply a callback function for tableheader.js to
@@ -326,6 +332,9 @@ function admin_menu_cache_set($cid, $data) {
 function admin_menu_js_cache() {
   global $conf;

+  // Suppress Devel module.
+  $GLOBALS['devel_shutdown'] = FALSE;
+
   // Enforce page caching.
   $conf['cache'] = 1;
   drupal_page_is_cacheable(TRUE);
@@ -384,10 +393,17 @@ function admin_menu_deliver($page_callback_result) {
 /**
  * Implements hook_admin_menu_replacements().
  */
-function admin_menu_admin_menu_replacements() {
+function admin_menu_admin_menu_replacements($complete) {
   $items = array();
-  if ($user_count = admin_menu_get_user_count()) {
-    $items['.admin-menu-users a'] = $user_count;
+  // If the complete menu is output, then it is uncached and will contain the
+  // current counts already.
+  if (!$complete) {
+    // Check whether the users count component is enabled.
+    $components = variable_get('admin_menu_components', array());
+    if (!empty($components['admin_menu.users']) && ($user_count = \
admin_menu_get_user_count())) { +      // Replace the counters in the cached menu \
output with current counts. +      $items['.admin-menu-users a'] = $user_count;
+    }
   }
   return $items;
 }
@@ -434,11 +450,16 @@ function admin_menu_session_count($timestamp = 0, $anonymous = \
TRUE) {

 /**
  * Build the administration menu output.
+ *
+ * @param bool $complete
+ *   (optional) Whether to build to the complete menu including all components
+ *   and ignore the cache. Defaults to FALSE. Internally used for the settings
+ *   page.
  */
-function admin_menu_output() {
+function admin_menu_output($complete = FALSE) {
   global $user, $language;

-  $cache_server_enabled = variable_get('admin_menu_cache_server', TRUE);
+  $cache_server_enabled = !$complete && variable_get('admin_menu_cache_server', \
TRUE);  $cid = 'admin_menu:' . $user->uid . ':' . session_id() . ':' . \
$language->language;

   // Try to load and output administration menu from server-side cache.
@@ -458,6 +479,16 @@ function admin_menu_output() {

   // Rebuild the output.
   if (!isset($content)) {
+    // Retrieve enabled components to display and make them available for others.
+    $components = variable_get('admin_menu_components', array());
+    $components += array(
+      'admin_menu.menu' => TRUE,
+      'admin_menu.icon' => TRUE,
+      'admin_menu.account' => TRUE,
+    );
+    $content['#components'] = $components;
+    $content['#complete'] = $complete;
+
     // Add site name as CSS class for development/staging theming purposes. We
     // leverage the cookie domain instead of HTTP_HOST to account for many (but
     // not all) multi-domain setups (e.g. language-based sub-domains).
@@ -475,15 +506,31 @@ function admin_menu_output() {
     // Load menu builder functions.
     module_load_include('inc', 'admin_menu');

+    // @todo Move the below callbacks into hook_admin_menu_build()
+    //   implementations (and $module.admin_menu.inc).
+
     // Add administration menu.
-    $content['menu'] = admin_menu_links_menu(admin_menu_tree('management'));
-    $content['menu']['#theme'] = 'admin_menu_links';
-    // Ensure the menu tree is rendered between the icon and user links.
-    $content['menu']['#weight'] = 0;
+    if (!empty($components['admin_menu.menu']) || $complete) {
+      $content['menu'] = admin_menu_links_menu(admin_menu_tree('management'));
+      $content['menu']['#theme'] = 'admin_menu_links';
+      $content['menu']['#wrapper_attributes']['id'] = 'admin-menu-menu';
+      // Ensure the menu tree is rendered between the icon and user links.
+      $content['menu']['#weight'] = 0;
+    }

     // Add menu additions.
-    $content['icon'] = admin_menu_links_icon();
-    $content['user'] = admin_menu_links_user();
+    if (!empty($components['admin_menu.icon']) || $complete) {
+      $content['icon'] = admin_menu_links_icon();
+    }
+    if (!empty($components['admin_menu.account']) || $complete) {
+      $content['account'] = admin_menu_links_account();
+    }
+    if (!empty($components['admin_menu.users']) || $complete) {
+      $content['users'] = admin_menu_links_users();
+    }
+    if (!empty($components['admin_menu.search']) || $complete) {
+      $content['search'] = admin_menu_links_search();
+    }

     // Allow modules to enhance the menu.
     // Uses '_output' suffix for consistency with the alter hook (see below).
@@ -506,7 +553,7 @@ function admin_menu_output() {
   }

   // Store the new hash for this user.
-  if (!empty($_COOKIE['has_js'])) {
+  if (!empty($_COOKIE['has_js']) && !$complete) {
     admin_menu_cache_set($cid, md5($content));
   }

@@ -517,6 +564,10 @@ function admin_menu_output() {
  * Implements hook_admin_menu_output_build().
  */
 function admin_menu_admin_menu_output_build(&$content) {
+  if (!isset($content['menu'])) {
+    return;
+  }
+
   // Unassign weights for categories below Configuration.
   // An alphabetical order is more natural for a dropdown menu.
   if (isset($content['menu']['admin/config'])) {
@@ -623,6 +674,7 @@ function theme_admin_menu_links($variables) {
     }

     $link = '';
+    // Handle menu links.
     if (isset($elements[$path]['#href'])) {
       // Strip destination query string from href attribute and apply a CSS class
       // for our JavaScript behavior instead.
@@ -631,21 +683,21 @@ function theme_admin_menu_links($variables) {
         $elements[$path]['#options']['attributes']['class'][] = \
'admin-menu-destination';  }

-      $link .= l($elements[$path]['#title'], $elements[$path]['#href'], \
$elements[$path]['#options']); +      $link = l($elements[$path]['#title'], \
$elements[$path]['#href'], $elements[$path]['#options']);  }
-    elseif (isset($elements[$path]['#title'])) {
+    // Handle plain text items, but do not interfere with menu additions.
+    elseif (!isset($elements[$path]['#type']) && isset($elements[$path]['#title'])) \
{  if (!empty($elements[$path]['#options']['html'])) {
         $title = $elements[$path]['#title'];
       }
       else {
         $title = check_plain($elements[$path]['#title']);
       }
-      if (!empty($elements[$path]['#options']['attributes'])) {
-        $link .= '<span' . \
drupal_attributes($elements[$path]['#options']['attributes']) . '>' . $title . \
                '</span>';
-      }
-      else {
-        $link .= $title;
+      $attributes = '';
+      if (isset($elements[$path]['#options']['attributes'])) {
+        $attributes = drupal_attributes($elements[$path]['#options']['attributes']);
       }
+      $link = '<span' . $attributes . '>' . $title . '</span>';
     }

     $output .= '<li' . drupal_attributes($elements[$path]['#attributes']) . '>';
@@ -655,7 +707,9 @@ function theme_admin_menu_links($variables) {
   // @todo #attributes probably required for UL, but already used for LI.
   // @todo Use $element['#children'] here instead.
   if ($output) {
-    $output = "\n" . '<ul class="dropdown">' . $output . '</ul>';
+    $elements['#wrapper_attributes']['class'][] = 'dropdown';
+    $attributes = drupal_attributes($elements['#wrapper_attributes']);
+    $output = "\n" . '<ul' . $attributes . '>' . $output . '</ul>';
   }
   return $output;
 }
@@ -665,12 +719,12 @@ function theme_admin_menu_links($variables) {
  */
 function admin_menu_element_sort($a, $b) {
   // @see element_sort()
-  $a_weight = (is_array($a) && isset($a['#weight'])) ? $a['#weight'] : 0;
-  $b_weight = (is_array($b) && isset($b['#weight'])) ? $b['#weight'] : 0;
+  $a_weight = isset($a['#weight']) ? $a['#weight'] : 0;
+  $b_weight = isset($b['#weight']) ? $b['#weight'] : 0;
   if ($a_weight == $b_weight) {
     // @see element_sort_by_title()
-    $a_title = (is_array($a) && isset($a['#title'])) ? $a['#title'] : '';
-    $b_title = (is_array($b) && isset($b['#title'])) ? $b['#title'] : '';
+    $a_title = isset($a['#title']) ? $a['#title'] : '';
+    $b_title = isset($b['#title']) ? $b['#title'] : '';
     return strnatcasecmp($a_title, $b_title);
   }
   return ($a_weight < $b_weight) ? -1 : 1;
@@ -723,6 +777,22 @@ function admin_menu_translated_menu_link_alter(&$item, $map) {
  *   (optional) A user ID to limit the cache flush to.
  */
 function admin_menu_flush_caches($uid = NULL) {
+  // A call to menu_rebuild() will trigger potentially thousands of calls into
+  // menu_link_save(), for which admin_menu has to implement the corresponding
+  // CRUD hooks, in order to take up any menu link changes, since any menu link
+  // change could affect the admin menu (which essentially is an aggregate) and
+  // since there is no other way to get notified about stale caches. The cache
+  // only needs to be flushed once though, so we prevent a ton of needless
+  // subsequent calls with this static.
+  // @see http://drupal.org/node/918538
+  $was_flushed = &drupal_static(__FUNCTION__, array());
+  // $uid can be NULL. PHP automatically converts that into '' (empty string),
+  // which is different to uid 0 (zero).
+  if (isset($was_flushed[$uid])) {
+    return;
+  }
+  $was_flushed[$uid] = TRUE;
+
   $cid = 'admin_menu:';
   if (isset($uid)) {
     $cid .= $uid . ':';
@@ -742,6 +812,7 @@ function admin_menu_flush_caches($uid = NULL) {
  */
 function admin_menu_form_alter(&$form, &$form_state, $form_id) {
   $global_flush_ids = array(
+    'admin_menu_theme_settings' => 1,
     // Update links for clean/non-clean URLs.
     'system_clean_url_settings' => 1,
     // Incorporate changed user permissions.
@@ -753,12 +824,12 @@ function admin_menu_form_alter(&$form, &$form_state, $form_id) \
{  );
   if (isset($global_flush_ids[$form_id])) {
     $form['#submit'][] = 'admin_menu_form_alter_flush_cache_submit';
-  }

-  // Optionally limit the cache flush to a certain user ID.
-  $form_state['admin_menu_uid'] = NULL;
-  if ($form_id == 'user_profile_form') {
-    $form_state['admin_menu_uid'] = $form_state['user']->uid;
+    // Optionally limit the cache flush to a certain user ID.
+    $form_state['admin_menu_uid'] = NULL;
+    if ($form_id == 'user_profile_form') {
+      $form_state['admin_menu_uid'] = $form_state['user']->uid;
+    }
   }

   // UX: Add a confirmation to the permissions form to ask the user whether to
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css
 index 56e448a..a3e9f3e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.css
 @@ -16,7 +16,8 @@ html body.admin-menu {
 html body.admin-menu-with-shortcuts {
   margin-top: 65px !important;
 }
-body div#toolbar {
+/* Displace the core Toolbar, if concurrently output. */
+body div#toolbar.toolbar {
   top: 30px;
 }

@@ -28,11 +29,9 @@ body div#toolbar {
  */
 #admin-menu {
   font: normal small "Lucida Grande", Verdana, sans-serif;
-  margin: 0 -20px;
-  padding: 0 20px;
-  -moz-box-shadow: 0 3px 20px #000;
-  -webkit-box-shadow: 0 3px 20px #000;
-  box-shadow: 0 3px 20px #000;
+  -moz-box-shadow: 0 -10px 20px 13px #000;
+  -webkit-box-shadow: 0 -10px 20px 13px #000;
+  box-shadow: 0 -10px 20px 13px #000;
   right: 0;
   width: auto;
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info
 index a63b6ce..2514776 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.info
 @@ -4,9 +4,9 @@ package = Administration
 core = 7.x
 dependencies[] = admin_menu

-; Information added by drupal.org packaging script on 2012-05-17
-version = "7.x-3.0-rc3"
+; Information added by drupal.org packaging script on 2013-01-31
+version = "7.x-3.0-rc4"
 core = "7.x"
 project = "admin_menu"
-datestamp = "1337292349"
+datestamp = "1359651687"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module
 index 1885fce..74a9ee1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/admin_menu/admin_menu_toolbar/admin_menu_toolbar.module
 @@ -8,6 +8,17 @@
  */

 /**
+ * Implements hook_form_FORMID_alter().
+ */
+function admin_menu_toolbar_form_admin_menu_theme_settings_alter(&$form) {
+  // Add the shortcut links as component on behalf of Shortcut module.
+  $form['plugins']['admin_menu_components']['#options']['shortcut.links'] = \
t('Shortcuts'); +  // The shortcut bar consists of two elements, so we target their \
class names +  // instead of cluttering the markup with additional IDs.
+  $form['plugins']['admin_menu_components']['shortcut.links']['#attributes']['rel'] \
= '.shortcut-toggle, .shortcut-toolbar'; +}
+
+/**
  * Implementation of hook_page_build().
  */
 function admin_menu_toolbar_page_build(&$page) {
@@ -48,6 +59,9 @@ function admin_menu_toolbar_page_build(&$page) {
  * Implements hook_admin_menu_output_build().
  */
 function admin_menu_toolbar_admin_menu_output_build(&$content) {
+  if (empty($content['#components']['shortcut.links']) && !$content['#complete']) {
+    return;
+  }
   // Add shortcuts toggle.
   $content['shortcut-toggle'] = array(
     '#access' => module_exists('shortcut'),
@@ -82,17 +96,23 @@ function admin_menu_toolbar_admin_menu_output_build(&$content) {
  */
 function admin_menu_toolbar_admin_menu_output_alter(&$content) {
   // Add a class to top-level items for styling.
-  foreach (element_children($content['menu']) as $link) {
-    $content['menu'][$link]['#attributes']['class'][] = \
'admin-menu-toolbar-category'; +  if (isset($content['menu'])) {
+    foreach (element_children($content['menu']) as $link) {
+      $content['menu'][$link]['#attributes']['class'][] = \
'admin-menu-toolbar-category'; +    }
   }

   // Alter icon.
-  unset($content['icon']['icon']['#theme']);
-  $content['icon']['icon']['#title'] = '<span>' . t('Home') . '</span>';
-  $content['icon']['icon']['#attributes']['class'][] = \
'admin-menu-toolbar-category'; +  if (isset($content['icon'])) {
+    unset($content['icon']['icon']['#theme']);
+    $content['icon']['icon']['#title'] = '<span>' . t('Home') . '</span>';
+    $content['icon']['icon']['#attributes']['class'][] = \
'admin-menu-toolbar-category'; +  }

   // Alter user account link.
-  $content['user']['account']['#title'] = t('Hello <strong>@username</strong>', \
                array('@username' => $content['user']['account']['#title']));
-  $content['user']['account']['#options']['html'] = TRUE;
+  if (isset($content['account'])) {
+    $content['account']['account']['#title'] = t('Hello <strong>@username</strong>', \
array('@username' => $content['account']['account']['#title'])); +    \
$content['account']['account']['#options']['html'] = TRUE; +  }
 }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.admin.inc index \
                013855a..0d095ae 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.admin.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.admin.inc
@@ -18,8 +18,8 @@
 function _captcha_available_challenge_types($add_special_options=TRUE) {
   $captcha_types = array();
   if ($add_special_options) {
-    $captcha_types['none'] = '[' . t('none') . ']';
-    $captcha_types['default'] = '[' . t('default challenge type') . ']';
+    $captcha_types['none'] = t('- No challenge -');
+    $captcha_types['default'] = t('Default challenge type');
   }
   // We do our own version of Drupal's module_invoke_all() here because
   // we want to build an array with custom keys and values.
@@ -47,9 +47,7 @@ function captcha_admin_settings() {
   $form['captcha_form_protection'] = array(
     '#type' => 'fieldset',
     '#title' => t('Form protection'),
-    '#description' => t('Select the challenge type you want for each of the listed \
forms (identified by their so called <em>form_id</em>\'s). You can easily add \
arbitrary forms with textfield at the bottom of the table or with the help of the \
                \'%CAPTCHA_admin_links\' option below.',
-      array('%CAPTCHA_admin_links' => t('Add CAPTCHA administration links to \
                forms'))
-      ),
+    '#description' => t("Select the challenge type you want for each of the listed \
forms (identified by their so called <em>form_id</em>'s). You can easily add \
arbitrary forms with the textfield at the bottom of the table or with the help of the \
option <em>Add CAPTCHA administration links to forms</em> below."),  );
   $form['captcha_form_protection']['captcha_default_challenge'] = array(
     '#type' => 'select',
@@ -75,7 +73,7 @@ function captcha_admin_settings() {
     if (isset($captcha_point->module) && $captcha_point->module) {
       $captcha_type = $captcha_point->module . '/' . $captcha_point->captcha_type;
     }
-    elseif ($captcha_point->captcha_type == 'default') {
+    elseif (isset($captcha_point->captcha_type) && ($captcha_point->captcha_type == \
'default')) {  $captcha_type = 'default';
     }
     else {
@@ -113,27 +111,27 @@ function captcha_admin_settings() {
     '#type' => 'checkbox',
     '#title' => t('Add CAPTCHA administration links to forms'),
     '#default_value' => variable_get('captcha_administration_mode', FALSE),
-    '#description' => t('This option makes it easy to manage CAPTCHA settings on \
forms. When enabled, users with the "%admincaptcha" permission will see a fieldset \
with CAPTCHA administration links on all forms, except on administrative pages.', \
array('%admincaptcha' => t('administer CAPTCHA settings'))), +    '#description' => \
t('This option makes it easy to manage CAPTCHA settings on forms. When enabled, users \
with the <em>administer CAPTCHA settings</em> permission will see a fieldset with \
CAPTCHA administration links on all forms, except on administrative pages.'),  );
   // Field for the CAPTCHAs on admin pages.
   $form['captcha_form_protection']['captcha_allow_on_admin_pages'] = array(
     '#type' => 'checkbox',
     '#title' => t('Allow CAPTCHAs and CAPTCHA administration links on administrative \
                pages'),
     '#default_value' => variable_get('captcha_allow_on_admin_pages', FALSE),
-    '#description' => t('This option makes it possible to add CAPTCHAs to forms on \
administrative pages. CAPTCHAs are disabled by default on administrative pages (which \
shouldn\'t be accessible to untrusted users normally) to avoid the related overhead. \
In some situations, e.g. in the case of demo sites, it can be usefull to allow \
CAPTCHAs on administrative pages.'), +    '#description' => t("This option makes it \
possible to add CAPTCHAs to forms on administrative pages. CAPTCHAs are disabled by \
default on administrative pages (which shouldn't be accessible to untrusted users \
normally) to avoid the related overhead. In some situations, e.g. in the case of demo \
sites, it can be usefull to allow CAPTCHAs on administrative pages."),  );

-  // Button for flushing the CAPTCHA placement cache.
+  // Button for clearing the CAPTCHA placement cache.
   // Based on Drupal core's "Clear all caches" (performance settings page).
   $form['captcha_form_protection']['captcha_placement_caching'] = array(
     '#type' => 'item',
     '#title' => t('CAPTCHA placement caching'),
-    '#description' => t('For efficiency, the positions of the CAPTCHA elements in \
each of the configured forms are cached. Most of the time, the structure of a form \
does not change and it would be a waste to recalculate the positions every time. \
Occasionally however, the form structure can change (e.g. during site building) and \
flushing the CAPTCHA placement cache can be required to fix the CAPTCHA placement.'), \
+    '#description' => t('For efficiency, the positions of the CAPTCHA elements in \
each of the configured forms are cached. Most of the time, the structure of a form \
does not change and it would be a waste to recalculate the positions every time. \
Occasionally however, the form structure can change (e.g. during site building) and \
clearing the CAPTCHA placement cache can be required to fix the CAPTCHA placement.'), \
                );
-  $form['captcha_form_protection']['captcha_placement_caching']['captcha_placement_cache_flush'] \
= array( +  $form['captcha_form_protection']['captcha_placement_caching']['captcha_placement_cache_clear'] \
= array(  '#type' => 'submit',
-    '#value' => t('Flush the CAPTCHA placement cache'),
-    '#submit' => array('captcha_flush_captcha_placement_cache_submit'),
+    '#value' => t('Clear the CAPTCHA placement cache'),
+    '#submit' => array('captcha_clear_captcha_placement_cache_submit'),
   );

   // Configuration option for adding a CAPTCHA description.
@@ -149,7 +147,7 @@ function captcha_admin_settings() {
     $form['captcha_descriptions'] = array(
       '#type' => 'fieldset',
       '#title' => t('CAPTCHA description'),
-      '#description' => t('Configurable description of the CAPTCHA. An empty entry \
will reset the description.'), +      '#description' => t('Configurable description \
of the CAPTCHA. An empty entry will reset the description to default.'),  \
'#attributes' => array('id' => 'edit-captcha-description-wrapper'),  );
     foreach ($langs as $lang_code => $lang_name) {
@@ -165,7 +163,7 @@ function captcha_admin_settings() {
     $form['captcha_description'] = array(
       '#type' => 'textfield',
       '#title' => t('Challenge description'),
-      '#description' => t('Configurable description of the CAPTCHA. An empty entry \
will reset the description.'), +      '#description' => t('Configurable description \
of the CAPTCHA. An empty entry will reset the description to default.'),  \
'#default_value' => _captcha_get_description(),  '#maxlength' => 256,
       '#attributes' => array('id' => 'edit-captcha-description-wrapper'),
@@ -203,6 +201,14 @@ function captcha_admin_settings() {
     '#description' => t('Define if challenges should be omitted during the rest of a \
session once the user successfully responds to a challenge.'),  );

+  // Enable wrong response counter.
+  $form['captcha_enable_stats'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Enable statistics'),
+    '#description' => t('Keep CAPTCHA related counters in the <a \
href="!statusreport">status report</a>. Note that this comes with a performance \
penalty as updating the counters results in clearing the variable cache.', \
array('!statusreport' => url('admin/reports/status'))), +    '#default_value' => \
variable_get('captcha_enable_stats', FALSE), +  );
+
   // Option for logging wrong responses.
   $form['captcha_log_wrong_responses'] = array(
     '#type' => 'checkbox',
@@ -311,9 +317,10 @@ function captcha_admin_settings_submit($form, &$form_state) {

   variable_set('captcha_default_validation', \
$form_state['values']['captcha_default_validation']);  \
variable_set('captcha_persistence', $form_state['values']['captcha_persistence']); +  \
variable_set('captcha_enable_stats', $form_state['values']['captcha_enable_stats']);  \
variable_set('captcha_log_wrong_responses', \
$form_state['values']['captcha_log_wrong_responses']);

-  drupal_set_message(t('The CAPTCHA settings were saved.'), 'status');
+  drupal_set_message(t('The CAPTCHA settings have been saved.'), 'status');
 }


@@ -322,9 +329,9 @@ function captcha_admin_settings_submit($form, &$form_state) {
 /**
  * Submit callback; clear CAPTCHA placement cache.
  */
-function captcha_flush_captcha_placement_cache_submit($form, &$form_state) {
+function captcha_clear_captcha_placement_cache_submit($form, &$form_state) {
   variable_del('captcha_placement_map_cache');
-  drupal_set_message(t('Flushed the CAPTCHA placement cache.'));
+  drupal_set_message(t('Cleared the CAPTCHA placement cache.'));
 }


@@ -378,7 +385,7 @@ function captcha_point_admin_form($form, $form_state, \
$captcha_point_form_id=NUL  $form['captcha_type'] = array(
     '#type' => 'select',
     '#title' => t('Challenge type'),
-    '#description' => t('The CAPTCHA type to use for this form'),
+    '#description' => t('The CAPTCHA type to use for this form.'),
     '#default_value' => $default_captcha_type,
     '#options' => _captcha_available_challenge_types(),
   );
@@ -495,7 +502,7 @@ function captcha_examples($form, $form_state, $module, \
$challenge) {  foreach ($challenges as $ckey => $challenge) {
           $form["captcha_{$mkey}_{$ckey}"] = array(
             '#type' => 'fieldset',
-            '#title' => t('Challenge "%challenge" by module "%module"', \
array('%challenge' => $challenge, '%module' => $module)), +            '#title' => \
t('Challenge %challenge by module %module', array('%challenge' => $challenge, \
                '%module' => $module)),
             'challenge' => _captcha_generate_example_challenge($module, $challenge),
             'more_examples' => array(
               '#markup' => l(t('10 more examples of this challenge.'), \
                "admin/config/people/captcha/captcha/examples/$module/$challenge"),
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.inc index \
                e8212b1..6af73a6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.inc
@@ -194,7 +194,7 @@ function _captcha_get_description($lang_code=NULL) {
   global $language;
   $lang_code = isset($lang_code) ? $lang_code : $language->language;
   // The hardcoded but localizable default.
-  $default = t('This question is for testing whether you are a human visitor and to \
prevent automated spam submissions.', array(), array('langcode' => $lang_code)); +  \
$default = t('This question is for testing whether or not you are a human visitor and \
to prevent automated spam submissions.', array(), array('langcode' => $lang_code));  \
// Look up the configured CAPTCHA description or fall back on the (localized) \
default.  if (module_exists('locale')) {
     $description = variable_get("captcha_description_$lang_code", $default);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.info index \
                15c72ac..32c91fc 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.info
@@ -10,9 +10,9 @@ files[] = captcha.admin.inc
 files[] = captcha.install
 files[] = captcha.test

-; Information added by drupal.org packaging script on 2012-01-02
-version = "7.x-1.0-beta2"
+; Information added by drupal.org packaging script on 2013-06-25
+version = "7.x-1.0"
 core = "7.x"
 project = "captcha"
-datestamp = "1325504137"
+datestamp = "1372203950"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.install index \
                e7aecbe..f53f600 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.install
@@ -114,7 +114,7 @@ function captcha_schema() {
 function captcha_requirements($phase) {
   $requirements = array();
   $t = get_t();
-  if ($phase == 'runtime') {
+  if ($phase == 'runtime' && variable_get('captcha_enable_stats', FALSE)) {
     // Show the wrong response counter in the status report.
     $requirements['captcha_wrong_response_counter'] = array(
       'title' => $t('CAPTCHA'),
@@ -178,62 +178,6 @@ function captcha_uninstall() {
 /**
  * Implementation of hook_update_N()
  */
-function captcha_update_1() {
-  $items = array();
-  switch ($GLOBALS['db_type']) {
-    case 'mysql':
-    case 'mysqli':
-      $items[] = update_sql("CREATE TABLE {captcha_points} (
-        form_id varchar(128) NOT NULL,
-        module varchar(64) default NULL,
-        type varchar(64) default NULL,
-        PRIMARY KEY (form_id)
-        ) /*!40100 DEFAULT CHARACTER SET utf8 */;"
-      );
-      $succes = TRUE;
-      break;
-    case 'pgsql':
-      $items[] = update_sql("CREATE TABLE {captcha_points} (
-        form_id varchar(128) NOT NULL,
-        module varchar(64) default NULL,
-        type varchar(64) default NULL,
-        PRIMARY KEY (form_id)
-        );"
-      );
-      $succes = TRUE;
-      break;
-    default:
-      drupal_set_message(t('Unsupported database.'), 'error');
-      $succes = FALSE;
-      break;
-  }
-  if ($succes) {
-    // insert some defaults
-    $form_ids = array('comment_form', 'contact_mail_user', 'contact_mail_page',
-      'user_register', 'user_pass');
-    foreach ($form_ids as $form_id) {
-      $items[] = update_sql("INSERT INTO {captcha_points} (form_id, module, type) \
                VALUES ('$form_id', NULL, NULL)");
-    }
-  }
-  return $items;
-}
-
-/**
- * Implementation of hook_update_N()
- */
-function captcha_update_2() {
-  $items = array();
-  // insert some defaults
-  $form_ids = array('user_login', 'user_login_block');
-  foreach ($form_ids as $form_id) {
-    $items[] = update_sql("INSERT INTO {captcha_points} (form_id, module, type) \
                VALUES ('$form_id', NULL, NULL)");
-  }
-  return $items;
-}
-
-/**
- * Implementation of hook_update_N()
- */
 function captcha_update_6200() {
   $items = array();

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.module index \
                87124d0..b2772b6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.module
@@ -39,12 +39,10 @@ function captcha_help($path, $arg) {
   switch ($path) {
     case 'admin/help#captcha':
       $output = '<p>' . t('"CAPTCHA" is an acronym for "Completely Automated Public \
Turing test to tell Computers and Humans Apart". It is typically a challenge-response \
test to determine whether the user is human. The CAPTCHA module is a tool to fight \
automated submission by malicious users (spamming) of for example comments forms, \
user registration forms, guestbook forms, etc. You can extend the desired forms with \
an additional challenge, which should be easy for a human to solve correctly, but \
                hard enough to keep automated scripts and spam bots out.') . '</p>';
-      $output .= '<p>' . t('Note that the CAPTCHA module interacts with page caching \
(see <a href="!performancesettings">performance settings</a>). Because the challenge \
should be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the "%commentlocation" to "%separatepage" in the comment settings \
of the relevant <a href="!contenttypes">content types</a> for better caching \
efficiency.' , +      $output .= '<p>' . t('Note that the CAPTCHA module interacts \
with page caching (see <a href="!performancesettings">performance settings</a>). \
Because the challenge should be unique for each generated form, the caching of the \
page it appears on is prevented. Make sure that these forms do not appear on too many \
pages or you will lose much caching efficiency. For example, if you put a CAPTCHA on \
the user login block, which typically appears on each page for anonymous visitors, \
caching will practically be disabled. The comment submission forms are another \
example. In this case you should set the <em>Location of comment submission form</em> \
to <em>Display on separate page</em> in the comment settings of the relevant <a \
href="!contenttypes">content types</a> for better caching efficiency.',  array(
-          '!performancesettings' => url('admin/settings/performance'),
-          '%commentlocation' => t('Location of comment submission form'),
-          '%separatepage' => t('Display on separate page'),
-          '!contenttypes' => url('admin/content/types'),
+          '!performancesettings' => url('admin/config/development/performance'),
+          '!contenttypes' => url('admin/structure/types'),
         )
       ) . '</p>';
       $output .= '<p>' . t('CAPTCHA is a trademark of Carnegie Mellon University.') \
. '</p>'; @@ -52,10 +50,8 @@ function captcha_help($path, $arg) {
     case 'admin/config/people/captcha':
     case 'admin/config/people/captcha/captcha':
     case 'admin/config/people/captcha/captcha/settings':
-      $output = '<p>' . t('A CAPTCHA can be added to virtually each Drupal form. \
Some default forms are already provided in the form list, but arbitrary forms can be \
                easily added and managed when the option "%adminlinks" is enabled.',
-        array('%adminlinks' => t('Add CAPTCHA administration links to forms'))) . \
                '</p>';
-      $output .= '<p>' . t('Users with the "%skipcaptcha" <a \
href="@perm">permission</a> won\'t be offered a challenge. Be sure to grant this \
permission to the trusted users (e.g. site administrators). If you want to test a \
protected form, be sure to do it as a user without the "%skipcaptcha" permission \
                (e.g. as anonymous user).',
-        array('%skipcaptcha' => t('skip CAPTCHA'), '@perm' => \
url('admin/user/permissions'))) . '</p>'; +      $output = '<p>' . t('A CAPTCHA can \
be added to virtually each Drupal form. Some default forms are already provided in \
the form list, but arbitrary forms can be easily added and managed when the option \
<em>Add CAPTCHA administration links to forms</em> is enabled.') . '</p>'; +      \
$output .= '<p>' . t('Users with the <em>Skip CAPTCHA</em> <a \
href="@perm">permission</a> won\'t be offered a challenge. Be sure to grant this \
permission to the trusted users (e.g. site administrators). If you want to test a \
protected form, be sure to do it as a user without the <em>Skip CAPTCHA</em> \
permission (e.g. as anonymous user).', array('@perm' => \
url('admin/people/permissions'))) . '</p>';  return $output;
   }
 }
@@ -281,7 +277,10 @@ function captcha_element_process($element, &$form_state, \
$complete_form) {  $element['#theme'] = 'captcha';

     // Add pre_render callback for additional CAPTCHA processing.
-    $element['#pre_render'] = array('captcha_pre_render_process');
+    if (!isset($element['#pre_render'])) {
+      $element['#pre_render'] = array();
+    }
+    $element['#pre_render'][] = 'captcha_pre_render_process';

     // Store the solution in the #captcha_info array.
     $element['#captcha_info']['solution'] = $captcha['solution'];
@@ -327,91 +326,93 @@ function theme_captcha($variables) {
  */
 function captcha_form_alter(&$form, &$form_state, $form_id) {

-  if (arg(0) != 'admin' || variable_get('captcha_allow_on_admin_pages', FALSE)) {
-
+  if (!user_access('skip CAPTCHA')) {
+    // Visitor does not have permission to skip CAPTCHAs.
     module_load_include('inc', 'captcha');

-    if (!user_access('skip CAPTCHA')) {
-      // Visitor does not have permission to skip the CAPTCHA
-
-      // Get CAPTCHA type and module for given form_id.
-      $captcha_point = captcha_get_form_id_setting($form_id);
-      if ($captcha_point && $captcha_point->captcha_type) {
-        module_load_include('inc', 'captcha');
-        // Build CAPTCHA form element.
-        $captcha_element = array(
-          '#type' => 'captcha',
-          '#captcha_type' => $captcha_point->module . '/' . \
                $captcha_point->captcha_type,
-        );
-        // Add a CAPTCHA description if required.
-        if (variable_get('captcha_add_captcha_description', TRUE)) {
-          $captcha_element['#description'] = _captcha_get_description();
-        }
-
-        // Get placement in form and insert in form.
-        $captcha_placement = _captcha_get_captcha_placement($form_id, $form);
-        _captcha_insert_captcha_element($form, $captcha_placement, \
                $captcha_element);
-
-      }
-    }
-    elseif (user_access('administer CAPTCHA settings') && \
                variable_get('captcha_administration_mode', FALSE)) {
-      $captcha_point = captcha_get_form_id_setting($form_id);
-      // For administrators: show CAPTCHA info and offer link to configure it
+    // Get CAPTCHA type and module for given form_id.
+    $captcha_point = captcha_get_form_id_setting($form_id);
+    if ($captcha_point && $captcha_point->captcha_type) {
+      module_load_include('inc', 'captcha');
+      // Build CAPTCHA form element.
       $captcha_element = array(
-        '#type' => 'fieldset',
-        '#title' => t('CAPTCHA'),
-        '#collapsible' => TRUE,
-        '#collapsed' => TRUE,
-        '#attributes' => array('class' => array('captcha-admin-links')),
+        '#type' => 'captcha',
+        '#captcha_type' => $captcha_point->module . '/' . \
$captcha_point->captcha_type,  );
-      if ($captcha_point !== NULL && $captcha_point->captcha_type) {
-        $captcha_element['#title'] = t('CAPTCHA: challenge "@type" enabled', \
                array('@type' => $captcha_point->captcha_type));
-        $captcha_element['#description'] = t('Untrusted users will see a CAPTCHA \
                here (!settings).',
-          array('!settings' => l(t('general CAPTCHA settings'), \
                'admin/config/people/captcha'))
-        );
-        $captcha_element['challenge'] = array(
-          '#type' => 'item',
-          '#title' => t('Enabled challenge'),
-          '#markup' => t('"@type" by module "@module" (!change, !disable)', array(
-            '@type' => $captcha_point->captcha_type,
-            '@module' => $captcha_point->module,
-            '!change' => l(t('change'), \
"admin/config/people/captcha/captcha/captcha_point/$form_id", array('query' => \
                drupal_get_destination())),
-            '!disable' => l(t('disable'), \
"admin/config/people/captcha/captcha/captcha_point/$form_id/disable", array('query' \
                => drupal_get_destination())),
-          )),
-        );
-        // Add an example challenge with solution.
-        // This does not work with the reCAPTCHA and Egglue challenges as
-        // discussed in http://drupal.org/node/487032 and
-        // http://drupal.org/node/525586. As a temporary workaround, we
-        // blacklist the reCAPTCHA and Egglue challenges and do not show
-        // an example challenge.
-        // TODO: Once the issues mentioned above are fixed, this workaround
-        // should be removed.
-        if ($captcha_point->module != 'recaptcha' && $captcha_point->module != \
                'egglue_captcha') {
-          $captcha_element['example'] = array(
-            '#type' => 'fieldset',
-            '#title' => t('Example'),
-            '#description' => t('This is a pre-solved, non-blocking example of this \
                challenge.'),
-          );
-          $captcha_element['example']['example_captcha'] = array(
-            '#type' => 'captcha',
-            '#captcha_type' => $captcha_point->module . '/' . \
                $captcha_point->captcha_type,
-            '#captcha_admin_mode' => TRUE,
-          );
-        }
+      // Add a CAPTCHA description if required.
+      if (variable_get('captcha_add_captcha_description', TRUE)) {
+        $captcha_element['#description'] = _captcha_get_description();
       }
-      else {
-        $captcha_element['#title'] = t('CAPTCHA: no challenge enabled');
-        $captcha_element['add_captcha'] = array(
-          '#markup' => l(t('Place a CAPTCHA here for untrusted users.'), \
"admin/config/people/captcha/captcha/captcha_point/$form_id", array('query' => \
                drupal_get_destination()))
-        );

-      }
       // Get placement in form and insert in form.
       $captcha_placement = _captcha_get_captcha_placement($form_id, $form);
       _captcha_insert_captcha_element($form, $captcha_placement, $captcha_element);
+    }
+  }
+  else if (
+  variable_get('captcha_administration_mode', FALSE)
+  && user_access('administer CAPTCHA settings')
+  && (arg(0) != 'admin' || variable_get('captcha_allow_on_admin_pages', FALSE))
+  ) {
+    // Add CAPTCHA administration tools.
+    module_load_include('inc', 'captcha');
+
+    $captcha_point = captcha_get_form_id_setting($form_id);
+    // For administrators: show CAPTCHA info and offer link to configure it
+    $captcha_element = array(
+      '#type' => 'fieldset',
+      '#title' => t('CAPTCHA'),
+      '#collapsible' => TRUE,
+      '#collapsed' => TRUE,
+      '#attributes' => array('class' => array('captcha-admin-links')),
+    );
+    if ($captcha_point !== NULL && $captcha_point->captcha_type) {
+      $captcha_element['#title'] = t('CAPTCHA: challenge "@type" enabled', \
array('@type' => $captcha_point->captcha_type)); +      \
$captcha_element['#description'] = t('Untrusted users will see a CAPTCHA here (<a \
href="@settings">general CAPTCHA settings</a>).', +        array('@settings' => \
url('admin/config/people/captcha')) +      );
+      $captcha_element['challenge'] = array(
+        '#type' => 'item',
+        '#title' => t('Enabled challenge'),
+        '#markup' => t('%type by module %module (<a href="@change">change</a>, <a \
href="@disable">disable</a>)', array( +          '%type' => \
$captcha_point->captcha_type, +          '%module' => $captcha_point->module,
+          '@change' => \
url("admin/config/people/captcha/captcha/captcha_point/$form_id", array('query' => \
drupal_get_destination())), +          '@disable' => \
url("admin/config/people/captcha/captcha/captcha_point/$form_id/disable", \
array('query' => drupal_get_destination())), +        )),
+      );
+      // Add an example challenge with solution.
+      // This does not work with the reCAPTCHA and Egglue challenges as
+      // discussed in http://drupal.org/node/487032 and
+      // http://drupal.org/node/525586. As a temporary workaround, we
+      // blacklist the reCAPTCHA and Egglue challenges and do not show
+      // an example challenge.
+      // TODO: Once the issues mentioned above are fixed, this workaround
+      // should be removed.
+      if ($captcha_point->module != 'recaptcha' && $captcha_point->module != \
'egglue_captcha') { +        $captcha_element['example'] = array(
+          '#type' => 'fieldset',
+          '#title' => t('Example'),
+          '#description' => t('This is a pre-solved, non-blocking example of this \
challenge.'), +        );
+        $captcha_element['example']['example_captcha'] = array(
+          '#type' => 'captcha',
+          '#captcha_type' => $captcha_point->module . '/' . \
$captcha_point->captcha_type, +          '#captcha_admin_mode' => TRUE,
+        );
+      }
+    }
+    else {
+      $captcha_element['#title'] = t('CAPTCHA: no challenge enabled');
+      $captcha_element['add_captcha'] = array(
+        '#markup' => l(t('Place a CAPTCHA here for untrusted users.'), \
"admin/config/people/captcha/captcha/captcha_point/$form_id", array('query' => \
drupal_get_destination())) +      );

     }
+    // Get placement in form and insert in form.
+    $captcha_placement = _captcha_get_captcha_placement($form_id, $form);
+    _captcha_insert_captcha_element($form, $captcha_placement, $captcha_element);
+
   }

   // Add a warning about caching on the Perfomance settings page.
@@ -446,7 +447,7 @@ function captcha_validate_strict_equality($solution, $response) {
  * @return TRUE when case insensitive equal, FALSE otherwise.
  */
 function captcha_validate_case_insensitive_equality($solution, $response) {
-  return strtolower($solution) === strtolower($response);
+  return drupal_strtolower($solution) === drupal_strtolower($response);
 }

 /**
@@ -456,7 +457,7 @@ function captcha_validate_case_insensitive_equality($solution, \
                $response) {
  * @return TRUE when equal (ignoring spaces), FALSE otherwise.
  */
 function captcha_validate_ignore_spaces($solution, $response) {
-  return preg_replace('/\s/', '', $solution) == preg_replace('/\s/', '', $response);
+  return preg_replace('/\s/', '', $solution) === preg_replace('/\s/', '', \
$response);  }

 /**
@@ -466,7 +467,7 @@ function captcha_validate_ignore_spaces($solution, $response) {
  * @return TRUE when equal (ignoring spaces), FALSE otherwise.
  */
 function captcha_validate_case_insensitive_ignore_spaces($solution, $response) {
-  return preg_replace('/\s/', '', strtolower($solution)) == preg_replace('/\s/', '', \
strtolower($response)); +  return preg_replace('/\s/', '', \
drupal_strtolower($solution)) === preg_replace('/\s/', '', \
drupal_strtolower($response));  }

 /**
@@ -598,7 +599,13 @@ function captcha_validate($element, &$form_state) {
     // we also provide the CAPTCHA $element and $form_state arrays for more advanced \
                use cases.
     if ($captcha_validate($solution, $captcha_response, $element, $form_state)) {
       // Correct answer.
-      $_SESSION['captcha_success_form_ids'][$form_id] = $form_id;
+
+      // Store form_id in session (but only if it is useful to do so, avoid setting \
stuff in session unnecessarily). +      $captcha_persistence = \
variable_get('captcha_persistence', \
CAPTCHA_PERSISTENCE_SKIP_ONCE_SUCCESSFUL_PER_FORM_INSTANCE); +      if \
($captcha_persistence == CAPTCHA_PERSISTENCE_SKIP_ONCE_SUCCESSFUL || \
$captcha_persistence == CAPTCHA_PERSISTENCE_SKIP_ONCE_SUCCESSFUL_PER_FORM_TYPE) { +   \
$_SESSION['captcha_success_form_ids'][$form_id] = $form_id; +      }
+
       // Record success.
       db_update('captcha_sessions')
         ->condition('csid', $csid)
@@ -615,13 +622,15 @@ function captcha_validate($element, &$form_state) {
       // set form error
       form_set_error('captcha_response', t('The answer you entered for the CAPTCHA \
was not correct.'));  // update wrong response counter
-      variable_set('captcha_wrong_response_counter', \
variable_get('captcha_wrong_response_counter', 0) + 1); +      if \
(variable_get('captcha_enable_stats', FALSE)) { +        \
variable_set('captcha_wrong_response_counter', \
variable_get('captcha_wrong_response_counter', 0) + 1); +      }
       // log to watchdog if needed
       if (variable_get('captcha_log_wrong_responses', FALSE)) {
         watchdog('CAPTCHA',
-          '%form_id post blocked by CAPTCHA module: challenge "%challenge" (by \
module "%module"), user answered "%response", but the solution was "%solution".', +   \
'%form_id post blocked by CAPTCHA module: challenge %challenge (by module %module), \
user answered "@response", but the solution was "@solution".',  array('%form_id' => \
                $form_id,
-            '%response' => $captcha_response, '%solution' => $solution,
+            '@response' => $captcha_response, '@solution' => $solution,
             '%challenge' => $captcha_info['captcha_type'], '%module' => \
$captcha_info['module'],  ),
           WATCHDOG_NOTICE);
@@ -640,6 +649,8 @@ function captcha_validate($element, &$form_state) {
  * @return the manipulated element
  */
 function captcha_pre_render_process($element) {
+  module_load_include('inc', 'captcha');
+
   // Get form and CAPTCHA information.
   $captcha_info = $element['#captcha_info'];
   $form_id = $captcha_info['form_id'];
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.test index \
                1647df2..bccefe3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.test
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/captcha.test
@@ -376,6 +376,24 @@ class CaptchaTestCase extends CaptchaBaseWebTestCase {
     $this->assertCaptchaPresence(FALSE);
   }

+
+  /**
+   * CAPTCHA should also be put on admin pages even if visitor
+   * has no access
+   */
+  function testCaptchaOnLoginBlockOnAdminPagesIssue893810() {
+    // Set a CAPTCHA on login block form
+    captcha_set_form_id_setting('user_login_block', 'captcha/Math');
+
+    // Check if there is a CAPTCHA on home page.
+    $this->drupalGet('node');
+    $this->assertCaptchaPresence(TRUE);
+
+    // Check there is a CAPTCHA on "forbidden" admin pages
+    $this->drupalGet('admin');
+    $this->assertCaptchaPresence(TRUE);
+  }
+
 }


@@ -598,9 +616,9 @@ class CaptchaAdminTestCase extends CaptchaBaseWebTestCase {
   }

   /**
-   * Test the CAPTCHA placement flushing.
+   * Test the CAPTCHA placement clearing.
    */
-  function testCaptchaPlacementCacheFlushing() {
+  function testCaptchaPlacementCacheClearing() {
     // Set CAPTCHA on user register form.
     captcha_set_form_id_setting('user_register_form', 'captcha/Math');
     // Visit user register form to fill the CAPTCHA placement cache.
@@ -608,12 +626,12 @@ class CaptchaAdminTestCase extends CaptchaBaseWebTestCase {
     // Check if there is CAPTCHA placement cache.
     $placement_map = variable_get('captcha_placement_map_cache', NULL);
     $this->assertNotNull($placement_map, 'CAPTCHA placement cache should be set.');
-    // Flush the cache
+    // Clear the cache
     $this->drupalLogin($this->admin_user);
-    $this->drupalPost(self::CAPTCHA_ADMIN_PATH, array(), t('Flush the CAPTCHA \
placement cache')); +    $this->drupalPost(self::CAPTCHA_ADMIN_PATH, array(), \
t('Clear the CAPTCHA placement cache'));  // Check that the placement cache is unset
     $placement_map = variable_get('captcha_placement_map_cache', NULL);
-    $this->assertNull($placement_map, 'CAPTCHA placement cache should be unset after \
flush.'); +    $this->assertNull($placement_map, 'CAPTCHA placement cache should be \
unset after cache clear.');  }

   /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha-rtl.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha-rtl.css
 deleted file mode 100644
index 8785e86..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha-rtl.css
                
+++ /dev/null
@@ -1,14 +0,0 @@
-/* $Id: image_captcha-rtl.css,v 1.1.2.1 2010/11/29 23:33:37 soxofaan Exp $ */
-
-/**
- * Styling of the font selection list (with previews)
- * on the Image CAPTCHA settings page.
- */
-
-/**
- * Float the fonts with preview (with a fixed width)
- * to create a multi-column layout.
- */
-.image_captcha_admin_font_preview {
-  float: right;
-}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.admin.inc
 index b3c9f02..5bf39fc 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.admin.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.admin.inc
 @@ -59,6 +59,17 @@ function image_captcha_settings_form() {
     '#default_value' => (int) variable_get('image_captcha_code_length', 5),
     '#description' => t('The code length influences the size of the image. Note that \
larger values make the image generation more CPU intensive.'),  );
+  // RTL support option (only show this option when there are RTL languages).
+  $languages = language_list('direction');
+  if (isset($languages[LANGUAGE_RTL])) {
+    $form['image_captcha_code_settings']['image_captcha_rtl_support'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('RTL support'),
+      '#default_value' => variable_get('image_captcha_rtl_support', 0),
+      '#description' => t('Enable this option to render the code from right to left \
for right to left languages.'), +    );
+  }
+

   // Font related stuff.
   $form['image_captcha_font_settings'] = \
_image_captcha_settings_form_font_section(); @@ -89,11 +100,11 @@ function \
image_captcha_settings_form() {  '#type' => 'select',
     '#title' => t('Additional variation of text color'),
     '#options' => array(
-      0 => t('none'),
-      50 => t('small'),
-      100 => t('moderate'),
-      150 => t('high'),
-      200 => t('very high'),
+      0 => t('No variation'),
+      50 => t('Little variation'),
+      100 => t('Medium variation'),
+      150 => t('High variation'),
+      200 => t('Very high variation'),
     ),
     '#default_value' => (int) \
                variable_get('image_captcha_foreground_color_randomness', 100),
     '#description' => t('The different characters will have randomized colors in the \
                specified range around the text color.'),
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.info
 index d09b65c..1c0e9b1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.info
 @@ -10,9 +10,9 @@ files[] = image_captcha.module
 files[] = image_captcha.admin.inc
 files[] = image_captcha.user.inc

-; Information added by drupal.org packaging script on 2012-01-02
-version = "7.x-1.0-beta2"
+; Information added by drupal.org packaging script on 2013-06-25
+version = "7.x-1.0"
 core = "7.x"
 project = "captcha"
-datestamp = "1325504137"
+datestamp = "1372203950"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.module
 index 485510c..fc1e850 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.module
 @@ -229,7 +229,13 @@ function image_captcha_captcha($op, $captcha_type='', \
                $captcha_sid=NULL) {
         // Generate image source URL (add timestamp to avoid problems with
         // client side caching: subsequent images of the same CAPTCHA session
         // have the same URL, but should display a different code).
-        $img_src = check_url(url("image_captcha/$captcha_sid/" . REQUEST_TIME));
+        $options = array(
+          'query' => array(
+            'sid' => $captcha_sid,
+            'ts' => REQUEST_TIME,
+          ),
+        );
+        $img_src = check_url(url("image_captcha", $options));
         list($width, $height) = _image_captcha_image_size($code);
         // TODO: start using a theming funtion for generating the image markup?
         $result['form']['captcha_image'] = array(
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.user.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.user.inc
 index 38434f4..07aeb84 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.user.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/image_captcha/image_captcha.user.inc
 @@ -11,15 +11,16 @@
 /**
  * Menu callback function that generates the CAPTCHA image.
  */
-function image_captcha_image($captcha_sid=NULL) {
+function image_captcha_image() {
   // If output buffering is on: discard current content and disable further \
buffering  if (ob_get_level()) {
     ob_end_clean();
   }
-
-  if (!$captcha_sid) {
+
+  if (!isset($_GET['sid'])) {
     exit();
   }
+  $captcha_sid = $_GET['sid'];

   // Get solution (the code to show).
   $code = db_query("SELECT solution FROM {captcha_sessions} WHERE csid = :csid",
@@ -96,8 +97,12 @@ function _image_captcha_generate_image($code) {
   }
   imagefilledrectangle($image, 0, 0, $width, $height, $background_color);

+  // Do we need to draw in RTL mode?
+  global $language;
+  $rtl = $language->direction && ((bool) variable_get('image_captcha_rtl_support', \
0)); +
   // draw text
-  $result = _image_captcha_image_generator_print_string($image, $width, $height, \
$fonts, $font_size, $code); +  $result = \
_image_captcha_image_generator_print_string($image, $width, $height, $fonts, \
$font_size, $code, $rtl);  if (!$result) {
     return FALSE;
   }
@@ -230,7 +235,7 @@ function _image_captcha_image_generator_add_dots(&$image, $width, \
$height, $colo  /**
  * Helper function for drawing text on the image.
  */
-function _image_captcha_image_generator_print_string(&$image, $width, $height, \
$fonts, $font_size, $text) { +function \
_image_captcha_image_generator_print_string(&$image, $width, $height, $fonts, \
$font_size, $text, $rtlúLSE) {  // get characters
   $characters = _image_captcha_utf8_split($text);
   $character_quantity = count($characters);
@@ -260,6 +265,9 @@ function _image_captcha_image_generator_print_string(&$image, \
$width, $height, $  foreach ($characters as $c => $character) {
     // initial position of character: in the center of its cage
     $center_x = ($c + 0.5) * $ccage_width;
+    if ($rtl) {
+      $center_x = $width - $center_x;
+    }
     $center_y = 0.5 * $height;

     // Pick a random font from the list.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/da.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/da.po deleted file \
mode 100644 index dc76738..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/da.po
+++ /dev/null
@@ -1,875 +0,0 @@
-# Dansk translation of captcha (6.x-2.0-beta5)
-# Copyright (c) 2009 by the Dansk translation team
-# Generated from files:
-# captcha.admin.inc,v 1.24 2009/05/14 22:47:37 soxofaan
-# image_captcha.admin.inc,v 1.19 2009/05/14 22:47:38 soxofaan
-# captcha.module,v 1.89 2009/05/17 17:02:20 soxofaan
-# captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-# image_captcha.user.inc,v 1.19 2009/04/24 22:16:48 soxofaan
-# image_captcha.module,v 1.25 2009/05/14 22:47:38 soxofaan
-# captcha.inc,v 1.4 2009/05/03 21:20:46 soxofaan
-# captcha.install,v 1.9 2009/03/22 20:06:39 soxofaan
-# image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: captcha (6.x-2.0-beta5)\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2009-05-29 02:46-0700\n"
-"PO-Revision-Date: 2009-05-29 11:47+0200\n"
-"Last-Translator: Morten Wulff <wulff@ratatosk.net>\n"
-"Language-Team: Dansk <dansk@klid.dk>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);"
-
-#: captcha.admin.inc:176
-msgid "Save configuration"
-msgstr "Gem indstillinger"
-
-#: captcha.admin.inc:83
-msgid "delete"
-msgstr "slet"
-
-#: captcha.admin.inc:186
-msgid "Operations"
-msgstr "Handlinger"
-
-#: captcha.admin.inc:359
-msgid "Delete"
-msgstr "Slet"
-
-#: captcha.admin.inc:318
-msgid "Save"
-msgstr "Gem"
-
-#: captcha.admin.inc:16; image_captcha/image_captcha.admin.inc:148,170
-msgid "none"
-msgstr "ingen"
-
-#: image_captcha/image_captcha.admin.inc:138
-msgid "Text color"
-msgstr "Tekstfarve"
-
-#: captcha.module:34
-msgid "Location of comment submission form"
-msgstr "Placering af formular"
-
-#: captcha.module:35
-msgid "Display on separate page"
-msgstr "Vis på separat side"
-
-#: captcha.module:76
-msgid "General settings"
-msgstr "Generelle indstillinger"
-
-#: captcha.admin.inc:363
-msgid "Disable"
-msgstr "Deaktivér"
-
-#: captcha.module:327
-msgid "disable"
-msgstr "deaktivér"
-
-#: captcha.module:263,311,118,211,413,59,70; captcha.info:0; \
                image_captcha/image_captcha.user.inc:29,72; \
                image_captcha/image_captcha.module:94
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: image_captcha/image_captcha.admin.inc:130
-msgid "Background color"
-msgstr "Baggrundsfarve"
-
-#: image_captcha/image_captcha.admin.inc:151,174
-msgid "high"
-msgstr "høj"
-
-#: image_captcha/image_captcha.admin.inc:96,117,173
-msgid "normal"
-msgstr "normal"
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "low"
-msgstr "lav"
-
-#: captcha.module:30
-msgid ""
-"\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing "
-"test to tell Computers and Humans Apart\". It is typically a "
-"challenge-response test to determine whether the user is human. The "
-"CAPTCHA module is a tool to fight automated submission by malicious "
-"users (spamming) of for example comments forms, user registration "
-"forms, guestbook forms, etc. You can extend the desired forms with an "
-"additional challenge, which should be easy for a human to solve "
-"correctly, but hard enough to keep automated scripts and spam bots "
-"out."
-msgstr ""
-"CAPTCHA er et akronym for \"Completely Automated Public Turing test to "
-"tell Computers and Humans Apart\" (fulstændig automatisk offentlig "
-"Turing-test til at skille computere fra mennesker). Det er typisk en "
-"udfordring-svar test som bestemmer hvorvidt brugeren er et menneske. "
-"CAPTCHA-modulet er et værktøj til bekæmpelse af ondsindede brugeres "
-"automatiske indsendelse (spamming) af kommentarformularer, "
-"brugeroprettelser, gæstebogsindlæg osv. Du kan udvide de ønskede "
-"formularer med en yderligere udfordring, som vil være let at løse "
-"for mennesker men svær nok til at holde automatiske scripts og "
-"spam-robotter ude."
-
-#: captcha.module:39
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA er et varemærke tilhørende Carnegie Mellon University."
-
-#: captcha.module:60
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Administrer hvor og hvordan CAPTCHAs bruges."
-
-#: captcha.module:82
-msgid "Examples"
-msgstr "Eksempler"
-
-#: captcha.module:83
-msgid "An overview of the available challenge types with examples."
-msgstr "En oversigt over de forskellige udfordringstyper med eksempler."
-
-#: captcha.inc:131
-msgid ""
-"This question is for testing whether you are a human visitor and to "
-"prevent automated spam submissions."
-msgstr ""
-"Dette spørgsmål tester hvorvidt du er et menneske og forhindrer "
-"automatisk indsendelse af spam."
-
-#: captcha.admin.inc:380
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "CAPTCHA for formular %form_id deaktiveret."
-
-#: captcha.admin.inc:376
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "CAPTCHA for formular %form_id slettet."
-
-#: captcha.admin.inc:122,137
-msgid "Challenge description"
-msgstr "Beskrivelse af udfordring"
-
-#: captcha.admin.inc:123,138
-msgid ""
-"With this description you can explain the purpose of the challenge to "
-"the user."
-msgstr ""
-"Med denne beskrivelse kan du forklarer formålet med udfordringen til "
-"brugeren."
-
-#: captcha.admin.inc:128
-msgid "For language %lang_name (code %lang_code)"
-msgstr "For sproget %lang_name (kode %lang_code)"
-
-#: captcha.admin.inc:155
-msgid "Persistence"
-msgstr "Vedholdenhed"
-
-#: captcha.admin.inc:158
-msgid "Always add a challenge."
-msgstr "Tilføj altid en udfordring."
-
-#: captcha.admin.inc:159
-msgid ""
-"Omit challenges for a form once the user has successfully responded to "
-"a challenge for that form."
-msgstr ""
-"Udelad udfordringer fra en formular når brugeren har klaret "
-"udfordringen for den pågældende formular."
-
-#: captcha.admin.inc:160
-msgid ""
-"Omit challenges for all forms once the user has successfully responded "
-"to a challenge."
-msgstr ""
-"Udelad udfordringer fra alle formularer når brugeren har klaret "
-"udfordringen for en formular."
-
-#: captcha.admin.inc:162
-msgid ""
-"Define if challenges should be omitted during the rest of a session "
-"once the user successfully responses to a challenge."
-msgstr ""
-"Angiv om udfordringerne skal udelades under resten af en session når "
-"brugeren har givet et korrekt svar på en udfordring."
-
-#: captcha.admin.inc:168
-msgid "Log wrong responses"
-msgstr "Log forkerte svar"
-
-#: captcha.admin.inc:255
-msgid "The CAPTCHA settings were saved."
-msgstr "Indstillinger for CAPTCHA gemt."
-
-#: captcha.module:211
-msgid ""
-"CAPTCHA problem: hook_captcha() of module %module returned nothing "
-"when trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-"CAPTCHA-problem: hook_captcha() fra modulet %module returnerede intet "
-"under forsøget på at hente udfordringstypen %type for formularen "
-"%form_id."
-
-#: captcha.module:408
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "Svaret, som du indtastede på CAPTCHAen, er ikke korrekt."
-
-#: captcha.module:413
-msgid ""
-"%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by "
-"module \"%module\"), user answered \"%response\", but the solution was "
-"\"%solution\"."
-msgstr ""
-"%form_id-indsendelse blokeret af CAPTCHA-modulet: udfordring "
-"\"%challenge\" (fra modulet \"%module\"), brugeren svarede "
-"\"%response\", men løsningen var \"%solution\"."
-
-#: captcha.admin.inc:417
-msgid ""
-"This page gives an overview of all available challenge types, "
-"generated with their current settings."
-msgstr ""
-"Denne side giver et overblik over alle tilgængelige udfordringstyper "
-"genereret med deres aktuelle indstillinger."
-
-#: captcha.admin.inc:425
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Udfordring \"%challenge\" fra modulet \"%module\""
-
-#: captcha.admin.inc:428
-msgid "10 more examples of this challenge."
-msgstr "10 eksempler til på denne udfordring."
-
-#: captcha.module:497
-msgid ""
-"Solve this simple math problem and enter the result. E.g. for 1+3, "
-"enter 4."
-msgstr ""
-"Løs denne simple matematikopgave og indtast resultatet. Indtast "
-"f.eks. 4 hvis opgaven er 1+3."
-
-#: captcha.module:498
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-#: captcha.admin.inc:107; captcha.module:106
-msgid "administer CAPTCHA settings"
-msgstr "administrer CAPTCHA-indstillinger"
-
-#: captcha.module:47,106
-msgid "skip CAPTCHA"
-msgstr "spring over CAPTCHA"
-
-#: captcha.module:0
-msgid "captcha"
-msgstr "captcha"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Database ikke understøttet."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr ""
-"Basalt CAPTCHA-modul som tilføjer udfordringer til vilkårlige "
-"formularer."
-
-#: captcha.info:0; image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Spam-kontrol"
-
-#: image_captcha/image_captcha.module:179,40; image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "Billed-CAPTCHA"
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr "Indbygget skrifttype"
-
-#: image_captcha/image_captcha.admin.inc:57
-msgid "Code settings"
-msgstr "Kodeindstillinger"
-
-#: image_captcha/image_captcha.admin.inc:61
-msgid "Characters to use in the code"
-msgstr "Tegn som bruges i koden"
-
-#: image_captcha/image_captcha.admin.inc:66
-msgid "Code length"
-msgstr "Kodelængde"
-
-#: image_captcha/image_captcha.admin.inc:69
-msgid ""
-"The code length influences the size of the image. Note that larger "
-"values make the image generation more CPU intensive."
-msgstr ""
-"Kodelængden har betydning for billedets størrelse. Bemærk at "
-"større værdier gør genereringen af billedet mere CPU-tung."
-
-#: image_captcha/image_captcha.admin.inc:75
-msgid "Font settings"
-msgstr "Skrifttypeindstillinger"
-
-#: image_captcha/image_captcha.admin.inc:81
-msgid "Font"
-msgstr "Skrift"
-
-#: image_captcha/image_captcha.admin.inc:83
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr ""
-"TrueType skrifttypen (.ttf) som skal bruges til teksten i "
-"billed-CAPTCHAen."
-
-#: image_captcha/image_captcha.admin.inc:92
-msgid "Font size"
-msgstr "Skriftstørrelse"
-
-#: image_captcha/image_captcha.admin.inc:94
-msgid "tiny"
-msgstr "lillebitte"
-
-#: image_captcha/image_captcha.admin.inc:95,116,149
-msgid "small"
-msgstr "lille"
-
-#: image_captcha/image_captcha.admin.inc:97,118
-msgid "large"
-msgstr "stor"
-
-#: image_captcha/image_captcha.admin.inc:100
-msgid ""
-"The font size influences the size of the image. Note that larger "
-"values make the image generation more CPU intensive."
-msgstr ""
-"Skriftstørrelsen har betydning for billedets størrelse. Bemærk at "
-"større værdier gør genereringen af billedet mere CPU-tung."
-
-#: image_captcha/image_captcha.admin.inc:112
-msgid "Character spacing"
-msgstr "Spatiering"
-
-#: image_captcha/image_captcha.admin.inc:113
-msgid ""
-"Define the average spacing between characters. Note that larger values "
-"make the image generation more CPU intensive."
-msgstr ""
-"Angiv den gennemsnitlige afstand mellem tegnene. Bemærk at større "
-"værdier gør genereringen af billedet mere CPU-tung."
-
-#: image_captcha/image_captcha.admin.inc:162
-msgid "Distortion and noise"
-msgstr "Forvrængning og støj"
-
-#: image_captcha/image_captcha.admin.inc:163
-msgid ""
-"With these settings you can control the degree of obfuscation by "
-"distortion and added noise. Do not exaggerate the obfuscation and "
-"assure that the code in the image is reasonably readable. For example, "
-"do not combine high levels of distortion and noise."
-msgstr ""
-"Med disse indstillinger kan du kontrollér hvor godt tekststrengen "
-"skal skjules med forvrængning og støj. Du bør ikke overdrive "
-"forvrængningen og du skal sikre dig at koden i billede er nogenlunde "
-"læselig. Du bør f.eks. ikke kombinere store mængder af "
-"forvrængning og støj."
-
-#: image_captcha/image_captcha.admin.inc:168
-msgid "Distortion level"
-msgstr "Forvrængningsniveau"
-
-#: image_captcha/image_captcha.admin.inc:150,172
-msgid "moderate"
-msgstr "moderat"
-
-#: image_captcha/image_captcha.admin.inc:175
-msgid "severe"
-msgstr "kraftig"
-
-#: image_captcha/image_captcha.admin.inc:178
-msgid "Set the degree of wave distortion in the image."
-msgstr "Angiv mængden af bølge-forvrænging i billedet."
-
-#: image_captcha/image_captcha.admin.inc:182
-msgid "Smooth distortion"
-msgstr "Jævn forvrængning"
-
-#: image_captcha/image_captcha.admin.inc:191
-msgid "This option adds randomly colored point noise."
-msgstr "Tilføjer tilfældig  farvet punktstøj."
-
-#: image_captcha/image_captcha.admin.inc:195
-msgid "Add line noise"
-msgstr "Tilføj linjestøj"
-
-#: image_captcha/image_captcha.admin.inc:197
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Tegner tilfældige linjer ovenpå teksten."
-
-#: image_captcha/image_captcha.admin.inc:201
-msgid "Noise level"
-msgstr "Støjniveau"
-
-#: image_captcha/image_captcha.admin.inc:234
-msgid ""
-"The usage of the built-in bitmap font it is not recommended because of "
-"its small size and missing UTF-8 support."
-msgstr ""
-"Brugen af den indbyggede bitmap-skrifttype er ikke anbefalet på grund "
-"af dens lille størrelse og manglende UTF8-understøttelse."
-
-#: image_captcha/image_captcha.admin.inc:245
-msgid "The list of characters to use should not contain spaces."
-msgstr "Listen af anvendte tegn skal ikke indeholde mellemrum."
-
-#: image_captcha/image_captcha.admin.inc:250
-msgid "You need to select a font"
-msgstr "Du skal vælge en skrifttype"
-
-#: image_captcha/image_captcha.admin.inc:253
-msgid "Font does not exist or is not readable."
-msgstr "Skrifttypen eksisterer ikke eller er ikke læsbar."
-
-#: image_captcha/image_captcha.module:94
-msgid ""
-"Encountered an illegal byte while splitting an utf8 string in "
-"characters."
-msgstr ""
-"Stødte på en ugyldig byte ved opsplitning af en UTF8-tekststreng i "
-"tegn."
-
-#: image_captcha/image_captcha.module:184
-msgid "What code is in the image?"
-msgstr "Hvilken kode vises i billedet?"
-
-#: image_captcha/image_captcha.user.inc:29
-msgid ""
-"Generation of image CAPTCHA failed. Check your image CAPTCHA "
-"configuration and especially the used font."
-msgstr ""
-"Generereing af billed-CAPTCHA mislykkedes. Undersøg dine Image "
-"CAPTCHA indstillinger og især den anvendte skrifttype."
-
-#: image_captcha/image_captcha.module:0
-msgid "image_captcha"
-msgstr "image_captcha"
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Tilbyder en billedbaseret CAPTCHA."
-
-#: captcha.admin.inc:41,105; captcha.module:45
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Tilføj CAPTCHA-administrationslinks til formularer"
-
-#: captcha.admin.inc:169
-msgid "Report information about wrong responses to the !log."
-msgstr "Gem information om forkerte besvarelser i !log."
-
-#: captcha.admin.inc:169
-msgid "log"
-msgstr "log"
-
-#: captcha.admin.inc:287,301
-msgid "Form ID"
-msgstr "Formular ID"
-
-#: captcha.admin.inc:288,302
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Drupal form_id for formularen som CAPTCHA skal tilføjees til."
-
-#: captcha.admin.inc:186,308
-msgid "Challenge type"
-msgstr "Udfordringstype"
-
-#: captcha.admin.inc:309
-msgid "The CAPTCHA type to use for this form"
-msgstr "CAPTCHA-typen som skal bruges til denne formular"
-
-#: captcha.admin.inc:213,329
-msgid "Illegal form_id"
-msgstr "Ugyldig form_id"
-
-#: captcha.admin.inc:341
-msgid "Saved CAPTCHA point settings."
-msgstr "CAPTCHA-indstillinger gemt."
-
-#: captcha.admin.inc:358
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Ønsker du at slette CAPTCHA for form_id %form_id?"
-
-#: captcha.admin.inc:362
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Ønsker du at deaktivere CAPTCHA for form_id %form_id?"
-
-#: captcha.module:31
-msgid ""
-"Note that the CAPTCHA module interacts with page caching (see <a "
-"href=\"!performancesettings\">performance settings</a>). Because the "
-"challenge should be unique for each generated form, the caching of the "
-"page it appears on is prevented. Make sure that these forms do not "
-"appear on too many pages or you will lose much caching efficiency. For "
-"example, if you put a CAPTCHA on the user login block, which typically "
-"appears on each page for anonymous visitors, caching will practically "
-"be disabled. The comment submission forms are another example. In this "
-"case you should set the \"%commentlocation\" to \"%separatepage\" in "
-"the comment settings of the relevant <a href=\"!contenttypes\">content "
-"types</a> for better caching efficiency."
-msgstr ""
-"Bemærk at CAPTCHA-modulet interagerer med sidecaching (ee <a "
-"href=\"!performancesettings\">indstillinger for ydelse</a>). Fordi "
-"udfordringen skal være unik for hver genereret formular forhindres "
-"caching af siden hvor formularen optræder. Forvis dig om at disse "
-"formularer ikke optræder på for mange sider eller du vil miste en "
-"del cacheffektivitet. Hvis du f.eks. tilføjer CAPTCHA til "
-"login-blokken, som typisk optræder på alle sider for anonyme "
-"brugere, vil caching i praksis være deaktiveret. "
-"Kommentarformularerne er et andet eksempel. I dette tilfælde skal du "
-"sætte \"%commentlocation\" til \"%separatepage\" under <a "
-"href=\"!commentsettings\">kommentarindstillingerne</a> for bedre "
-"cache-effektivitet."
-
-#: captcha.module:44
-msgid ""
-"A CAPTCHA can be added to virtually each Drupal form. Some default "
-"forms are already provided in the form list, but arbitrary forms can "
-"be easily added and managed when the option \"%adminlinks\" is "
-"enabled."
-msgstr ""
-"En CAPTCHA kan tilføjes til praktisk talt enhver Drupal-formular. "
-"Enkelte standardformularer er til rådighed i formularlisten, men "
-"vilkårlige formularer kan let tilføjes og håndteres når "
-"\"%adminlinks\" er aktiveret."
-
-#: captcha.module:46
-msgid ""
-"Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't "
-"be offered a challenge. Be sure to grant this permission to the "
-"trusted users (e.g. site administrators). If you want to test a "
-"protected form, be sure to do it as a user without the "
-"\"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-"Brugere med <a href=\"@perm\">tilladelsen</a> \"%skipcaptcha\" bliver "
-"ikke tilbudt en udfordring. Giv kun denne tilladelse til betroede "
-"brugere (f.eks. administratorer). Hvis du ønsker at teste en "
-"beskyttet formular skal du gøre det som en bruger uden tilladelsen "
-"\"%skipcaptcha\" (f.eks. som anonym bruger)."
-
-#: captcha.module:317
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Utroværdige brugere vil se en CAPTCHA her (!settings)."
-
-#: captcha.module:318
-msgid "general CAPTCHA settings"
-msgstr "generelle CAPTCHA-indstillinger"
-
-#: captcha.module:322
-msgid "Enabled challenge"
-msgstr "Udfordring aktiveret"
-
-#: captcha.module:323
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "\"@type\" af modul \"@module\" (!change, !disable)"
-
-#: captcha.module:326
-msgid "change"
-msgstr "skift"
-
-#: captcha.module:344
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Placér en CAPTCHA her for utroværdige brugere."
-
-#: captcha.install:115
-msgid ""
-"You can now <a href=\"!captcha_admin\">configure the CAPTCHA "
-"module</a> for your site."
-msgstr ""
-"Du kan nu <a href=\"!captcha_admin\">indstille CAPTCHA-modulet</a> på "
-"dit site."
-
-#: image_captcha/image_captcha.admin.inc:125
-msgid "Color settings"
-msgstr "Farveindstillinger"
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr "Indstilling af baggrunds- og tekstfarver i billed-CAPTCHA."
-
-#: image_captcha/image_captcha.admin.inc:131
-msgid ""
-"Enter the hexadecimal code for the background color (e.g. #FFF or "
-"#FFCE90)."
-msgstr ""
-"Indtast den hexadecimale kode for baggrundsfarven (f.eks. #FFF eller "
-"#FFCE90)."
-
-#: image_captcha/image_captcha.admin.inc:139
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr ""
-"Indtast den hexadecimale kode for tekstfarven (f.eks. #000 eller "
-"#004283)."
-
-#: image_captcha/image_captcha.admin.inc:146
-msgid "Additional variation of text color"
-msgstr "Variation i tekstfarve"
-
-#: image_captcha/image_captcha.admin.inc:152
-msgid "very high"
-msgstr "meget høj"
-
-#: image_captcha/image_captcha.admin.inc:155
-msgid ""
-"The different characters will have randomized colors in the specified "
-"range around the text color."
-msgstr ""
-"De forskellige tegn får tilfældige farver i det angivne interval "
-"omkring tekstfarven."
-
-#: image_captcha/image_captcha.admin.inc:258
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Baggrundsfarven er ikke en gyldig hexadecimal farveværdi."
-
-#: image_captcha/image_captcha.admin.inc:261
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Tekstfarven er ikke en gyldig hexadecimal farveværdi."
-
-#: captcha.module:517
-msgid "Test"
-msgstr "Test"
-
-#: captcha.admin.inc:39
-msgid "Form protection"
-msgstr "Formularbeskyttelse"
-
-#: captcha.admin.inc:40
-msgid ""
-"Select the challenge type you want for each of the listed forms "
-"(identified by their so called <em>form_id</em>'s). You can easily add "
-"arbitrary forms with textfield at the bottom of the table or with the "
-"help of the '%CAPTCHA_admin_links' option below."
-msgstr ""
-"Vælg typen af udfordring du ønsker for hver af de viste formularer "
-"(identificeret ved deres såkaldte <em>form_id</em>). Du kan let "
-"tilføje vilkårlige formularer med tekstfeltet i bunden af tabellen "
-"eller ved hjælp af '%CAPTCHA_admin_links' herunder."
-
-#: captcha.admin.inc:237
-msgid "Added CAPTCHA point."
-msgstr "CAPTCHA-punkt tilføjet."
-
-#: captcha.module:389
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr "CAPTCHA-test mislykkedes (ukendt csid)."
-
-#: captcha.module:342
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: ingen udfordring aktiveret"
-
-#: captcha.module:92
-msgid "CAPTCHA point administration"
-msgstr "CAPTCHA pointadministration"
-
-#: image_captcha/image_captcha.admin.inc:184
-msgid ""
-"This option enables bilinear interpolation of the distortion which "
-"makes the image look smoother, but it is more CPU intensive."
-msgstr ""
-"Dette valg aktiverer biliniær interpolation af forvrængningen, som "
-"får billedet til at se mere jævnt ud, men er mere CPU-tungt."
-
-#: image_captcha/image_captcha.admin.inc:189
-msgid "Add salt and pepper noise"
-msgstr "Tilføj \"salt og peber\" støj"
-
-#: image_captcha/image_captcha.admin.inc:231
-msgid ""
-"The image CAPTCHA module works best with a TrueType font file (TTF) "
-"for generating the images, but because of licencing issues it is not "
-"allowed to package fonts with the module. A simple built-in bitmap "
-"font is provided as default instead. You can install TrueType fonts "
-"yourself by putting them in the fonts directory of the image CAPTCHA "
-"module (directory \"%fontsdir\") or by uploading them to your Drupal "
-"file system (directory \"%filesdir\") with for example the upload "
-"module."
-msgstr ""
-"Image CAPTCHA-modulet virker bedst med en TrueType skrifttypefil "
-"(.ttf) til generering af billederne, men på grund af licensproblemer "
-"er det ikke muligt at inkludere skrifttyper med modulet. Der bruges en "
-"simpel indbygget bitmap-skrifttype som standard i stedet. Du kan selv "
-"installere TrueType skrifttyper ved at placere dem i mappen fonts i "
-"Image CAPTCHA-modulets mappe (\"%fontsdir\") eller ved at uploade dem "
-"til dit Drupal filsystem (\"%filesdir\") med Upload-modulet."
-
-#: image_captcha/image_captcha.module:28
-msgid ""
-"The image CAPTCHA is a popular challenge where a random textual code "
-"is obfuscated in an image. The image is generated on the fly for each "
-"request, which is rather CPU intensive for the server. Be careful with "
-"the size and computation related settings."
-msgstr ""
-"Billed-CAPTCHAen er en populær udfordring hvor en tilfældig "
-"tekstkode skjules i et billede. Billedet genereres i farten for hver "
-"anmodning, hvilket er ganske CPU-intensivt for serveren. Vær varsom "
-"med størrelsen og de beregningsrelaterede indstillinger."
-
-#: image_captcha/image_captcha.module:169
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Indtast tegnene som er vist på billeder (uden mellemrum)"
-
-#: image_captcha/image_captcha.module:166
-msgid ""
-"Enter the characters shown in the image. Ignore spaces and be careful "
-"about upper and lower case."
-msgstr ""
-"Indtast tegnene som vises på billeder. Ignorér mellemrum og vær "
-"omhyggelig med store og små bogstaver."
-
-#: captcha.module:316
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA: udfordring \"@type\" aktiveret"
-
-#: captcha.module:332; image_captcha/image_captcha.admin.inc:45
-msgid "Example"
-msgstr "Eksempel"
-
-#: captcha.module:333
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr ""
-"Dette er et ikke-blokerende og allerede løst eksempel på denne "
-"udfordring."
-
-#: captcha.module:119
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "Har allerede blokeret 1 formularindsendelse"
-msgstr[1] "Har allerede blokeret @count formularindsendelser"
-
-#: image_captcha/image_captcha.admin.inc:35
-msgid ""
-"The Image CAPTCHA module can not generate images because your PHP "
-"setup does not support it (no <a href=\"!gdlib\">GD library</a>)."
-msgstr ""
-"Image CAPTCHA-modulet kan ikke generere billeder fordi din "
-"PHP-opsætning ikke understøtter det (intet <a "
-"href=\"!gdlib\">GD-bibliotek</a>)."
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "1 - low"
-msgstr "1 - lav"
-
-#: image_captcha/image_captcha.admin.inc:205
-msgid "3 - medium"
-msgstr "3 - middel"
-
-#: image_captcha/image_captcha.admin.inc:207
-msgid "5 - high"
-msgstr "5 - høj"
-
-#: image_captcha/image_captcha.admin.inc:209
-msgid "10 - severe"
-msgstr "10 - alvorlig"
-
-#: image_captcha/image_captcha.admin.inc:226
-msgid ""
-"The Image CAPTCHA module can not use True Type fonts because your PHP "
-"setup does not support it. There is only a built-in bitmap font "
-"available."
-msgstr ""
-"Image CAPTCHA-modulet kan ikke bruge True Type skrifttyper fordi din "
-"PHP-opsætning ikke understøtter dem. Kun den indbyggede "
-"bitmap-skrifttype er tilgængelig."
-
-#: image_captcha/image_captcha.user.inc:72
-msgid ""
-"Could not find or read the configured font (\"%font\") for the image "
-"CAPTCHA."
-msgstr ""
-"Kan ikke finde eller læse den valgte skrifttype (\"%font\") for Image "
-"CAPTCHA."
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "standard udfordringstype"
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr "@type (fra modulet @module)"
-
-#: captcha.admin.inc:46
-msgid "Default challenge type"
-msgstr "Standard udfordringstype"
-
-#: captcha.admin.inc:47
-msgid ""
-"Select the default challenge type for CAPTCHAs. This can be overriden "
-"for each form if desired."
-msgstr ""
-"Vælg standardudfordringstypen for CAPTCHAer. Den kan tilsidesættes "
-"på hver formular hvis det ønskes."
-
-#: captcha.admin.inc:107
-msgid ""
-"This option makes it easy to manage CAPTCHA settings on forms. When "
-"enabled, users with the \"%admincaptcha\" permission will see a "
-"fieldset with CAPTCHA administration links on all forms, except on "
-"administrative pages."
-msgstr ""
-"Gør det nemt at administrere CAPTCHA-indstillinger på formularer. "
-"Brugere med tilladelsen \"%admincaptcha\" vil se en feltgruppe med "
-"CAPTCHA administrationslinks på alle formularer, undtagen på "
-"administrationssider."
-
-#: captcha.admin.inc:112
-msgid ""
-"Allow CAPTCHAs and CAPTCHA administration links on administrative "
-"pages"
-msgstr ""
-"Tillad CAPTCHAer og CAPTCHA administrationslinks på administrative "
-"sider."
-
-#: captcha.admin.inc:114
-msgid ""
-"This option makes it possible to add CAPTCHAs to forms on "
-"administrative pages. CAPTCHAs are disabled by default on "
-"administrative pages (which shouldn't be accessible to untrusted users "
-"normally) to avoid the related overhead. In some situations, e.g. in "
-"the case of demo sites, it can be usefull to allow CAPTCHAs on "
-"administrative pages."
-msgstr ""
-"Gør det muligt at tilføje CAPTCHAs til formularer på administrative "
-"sider. CAPTCHAs er som standard deaktiveret på administrative sider "
-"(som normalt ikke er tilgængelige for almindelige brugere) for at "
-"undgå de relaterede omkostninger. I visse situationer, f.eks. på "
-"demosites, kan det være nyttigt at tillade CAPTCHAs på "
-"administrative sider."
-
-#: captcha.admin.inc:147
-msgid "Case sensitive validation"
-msgstr "Versalfølsom validering"
-
-#: captcha.admin.inc:148
-msgid ""
-"Disable this option to ignore uppercase/lowercase errors in the "
-"response."
-msgstr "Deaktivér for at ignorere fejl i store/små bogstaver i svaret."
-
-#: captcha.inc:35
-msgid ""
-"Failed to set a CAPTCHA type for form %form_id: could not interpret "
-"value \"@captcha_type\""
-msgstr ""
-"Kunne ikke sætte en CAPTCHA-type på formularen %form_id: kunne ikke "
-"fortolke værdien \"@captcha_type\""
-
-#: captcha.module:496
-msgid "Math question"
-msgstr "Matematikspørgsmål"
-
-#: image_captcha/image_captcha.admin.inc:46
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr ""
-"Forudfyldt billed-CAPTCHA eksempel, genereret med de aktuelle "
-"indstillinger."
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/de.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/de.po deleted file \
mode 100644 index cf7f01f..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/de.po
+++ /dev/null
@@ -1,633 +0,0 @@
-# $Id: de.po,v 1.6.2.1 2010/08/17 12:12:59 soxofaan Exp $
-#
-# LANGUAGE translation of Drupal (general)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.15 2009/02/02 19:44:08 soxofaan
-#  image_captcha.admin.inc,v 1.13 2009/02/06 18:02:29 soxofaan
-#  captcha.module,v 1.76 2009/02/06 17:45:20 soxofaan
-#  captcha.pages.inc,v 1.10 2009/02/06 17:45:20 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.15 2009/02/06 18:02:29 soxofaan
-#  image_captcha.module,v 1.18 2009/02/06 18:02:29 soxofaan
-#  captcha.install,v 1.8 2009/01/03 18:04:55 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-msgid ""
-msgstr "Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2009-02-24 10:13+0100\n"
-"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
-"Last-Translator: drupalcenter.de - Drupal Voice Channel\n"
-"Language-Team: drupalcenter.de - Drupal Voice Channel\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-#: captcha.admin.inc:13 image_captcha/image_captcha.admin.inc:128;150
-msgid "none"
-msgstr "keine"
-
-#: captcha.admin.inc:32
-msgid "Form protection"
-msgstr "Formularschutz"
-
-#: captcha.admin.inc:33
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr "Wählen Sie einen Test, den Sie für jeden der aufgeführten Formularen \
(anhand der form_id). Über das Textfeld am Ende der Tabelle können beliebige \
                Formulare unter Zuhilfenahme der Option '%CAPTCHA_admin_links' \
                hinzugefügt werden."
-
-#: captcha.admin.inc:34;81 captcha.module:43
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Füge CAPTCHA Verwaltungslinks zu Formularen hinzu"
-
-#: captcha.admin.inc:59
-msgid "delete"
-msgstr "löschen"
-
-#: captcha.admin.inc:83
-msgid "This option is very helpful to enable/disable challenges on forms. When \
enabled, users with the \"%admincaptcha\" permission will see CAPTCHA administration \
links on all forms (except on administrative pages, which shouldn't be accessible to \
untrusted users in the first place). These links make it possible to enable a \
                challenge of the desired type or disable it."
-msgstr "Diese Option ist sehr hilfreich, zum Aktivieren bzw. Deaktivieren von Tests \
auf Formularen. Benutzer mit dem Recht \"%admincaptcha\" erhalten Links zur \
Verwaltung von CAPTCHA - Tests auf alle Formularen (ausgenommen Verwaltungs-Seiten). \
                Einen Test des gewünschten Typs aktivieren oder deaktivieren."
-
-#: captcha.admin.inc:83 captcha.module:104
-msgid "administer CAPTCHA settings"
-msgstr "Einstellungen von CAPTCHA verwalten"
-
-#: captcha.admin.inc:91;106
-msgid "Challenge description"
-msgstr "Beschreibung des Test"
-
-#: captcha.admin.inc:92;107
-msgid "With this description you can explain the purpose of the challenge to the \
                user."
-msgstr "Mit dieser Beschreibung wird dem Benutzer erklärt, warum diesr Test \
                notwendig ist."
-
-#: captcha.admin.inc:97
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Für die Sprache %lang_name (%lang_code)"
-
-#: captcha.admin.inc:116
-msgid "Persistence"
-msgstr "Gültigkeitsdauer"
-
-#: captcha.admin.inc:119
-msgid "Always add a challenge."
-msgstr "Füge immer einen Test hinzu."
-
-#: captcha.admin.inc:120
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Sobald der Benutzer einen Test für dieses Formular gelöst hat, werden \
                Tests für das Formular übersprungen."
-
-#: captcha.admin.inc:121
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Sobald der Benutzer einen Test gelöst hat, werden Tests für alle Formulare \
                übersprungen."
-
-#: captcha.admin.inc:123
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Sobald der Benutzer einen Test gelöst hat, werden Tests für den Rest der \
                Sitzung übersprungen."
-
-#: captcha.admin.inc:129
-msgid "Log wrong responses"
-msgstr "Falsche Antworten protokollieren"
-
-#: captcha.admin.inc:130
-msgid "Report information about wrong responses to the !log."
-msgstr "Informationen über falsche Antworten im !log festhalten."
-
-#: captcha.admin.inc:130
-msgid "log"
-msgstr "Protokoll"
-
-#: captcha.admin.inc:137
-msgid "Save configuration"
-msgstr "Konfiguration speichern"
-
-#: captcha.admin.inc:147
-msgid "Challenge type (module)"
-msgstr "Testtyp (Modul)"
-
-#: captcha.admin.inc:147
-msgid "Operations"
-msgstr "Operationen"
-
-#: captcha.admin.inc:188;300
-msgid "Illegal form_id"
-msgstr "Ungültige form_id"
-
-#: captcha.admin.inc:209
-msgid "Added CAPTCHA point."
-msgstr "CAPTCHA für Formular hinzugefügt."
-
-#: captcha.admin.inc:227
-msgid "The CAPTCHA settings were saved."
-msgstr "Die CAPTCHA Einstellungen wurden gespeichert."
-
-#: captcha.admin.inc:257;272
-msgid "Form ID"
-msgstr "Formular ID"
-
-#: captcha.admin.inc:258;273
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Die Drupal form_id des Formulars zu dem das CAPTCHA hinzugefügt werden \
                soll."
-
-#: captcha.admin.inc:279
-msgid "Challenge type"
-msgstr "Testtyp"
-
-#: captcha.admin.inc:280
-msgid "The CAPTCHA type to use for this form"
-msgstr "Der CAPTCHA-Typ für dieses Formular."
-
-#: captcha.admin.inc:289
-msgid "Save"
-msgstr "Speichern"
-
-#: captcha.admin.inc:312
-msgid "Saved CAPTCHA point settings."
-msgstr "Einstellungen für CAPTCHA Zuordnung gespeichert."
-
-#: captcha.admin.inc:329
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "CAPTCHA für die form_id %form_id wirklich löschen?"
-
-#: captcha.admin.inc:330
-msgid "Delete"
-msgstr "Löschen"
-
-#: captcha.admin.inc:333
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "CAPTCHA für die form_id %form_id wirklich deaktivieren?"
-
-#: captcha.admin.inc:334
-msgid "Disable"
-msgstr "Deaktivieren"
-
-#: captcha.admin.inc:347
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "CAPTCHA für Formular %form_id gelöscht."
-
-#: captcha.admin.inc:351
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "CAPTCHA für Formular %form_id deaktiviert."
-
-#: captcha.admin.inc:386
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Diese Seite gibt einen Überblick aller verfügbaren Testtypen unter \
                Verwendung ihrer aktuellen Einstellungen."
-
-#: captcha.admin.inc:394
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Test \"%challenge\" pro Modul \"%module\""
-
-#: captcha.admin.inc:397
-msgid "10 more examples of this challenge."
-msgstr "10 weitere Beispiele dieses Test."
-
-#: (duplicate) captcha.pages.inc:52;39 captcha.module:186;116 ;263;57;68 \
captcha.info:0 image_captcha/image_captcha.user.inc:29 \
                image_captcha/image_captcha.module:94
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.pages.inc:39
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr "CAPTCHA Problem: Die Rückgabe von hook_captcha() des Moduls %module ist \
fehlgeschlagen, als versucht wurde für das Formular %form_id den Testtyp %type zu \
                erstellen."
-
-#: captcha.module:28
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "CAPTCHA ist ein Akronym für Completely Automated Public Turing test to tell \
Computers and Humans Apart. Wörtlich übersetzt bedeutet das \"Vollautomatischer \
öffentlicher Turing-Test, um Computer und Menschen zu unterscheiden\". Es ist in der \
Regel ein Challenge-Response-Test, um festzustellen, ob der Benutzer menschlich ist. \
Das CAPTCHA-Modul ist ein Werkzeug zur automatisierten Überprüfung von Benutzern, \
um Spamming zu vermeiden, zB in Kommentaren,  bei der Benutzer-Registrierung, im \
Gästebuch Formulare, etc. Einzelne Formulare können mit einem zusätzlichen Test \
versehen werden, der einfach für eine Menschen zu lösen ist, aber schwer für \
                automatisierte Skripte und Spam-Bots."
-
-#: captcha.module:29
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr "Das CAPTCHA-Modul interagiert mit dem Seiten-Caching, siehe <a \
href=\"!performancesettings\">Performance-Einstellungen</a>. Da für jeden einzelnen \
Abruf des Formulars ein neuer Test erzeugt wird, werden die Formularseiten nicht in \
den Cache aufgenommen. Stellen Sie sicher, dass die Tests nicht auf zu viele Seiten \
erscheinen , sonst wird viel Effizienz verloren (Caching  deaktiviert für diese \
Seiten). Zum Beispiel, wenn Sie ein CAPTCHA auf dem User-Login-Block aktivieren, der \
in der Regel auf jeder Seite für anonyme Besucher erscheint, ist  das Caching damit \
praktisch ausgeschaltet. Der Kommentar Formulare sind ein weiteres Beispiel. In \
diesem Fall sollten Sie den \"%commentlocation\" auf \"%separatepage\" in den \
Kommentar-Einstellungen des jeweiligen <a href=\"!contenttypes\">Inhaltstpyen</a> \
                für eine bessere Caching-Effizienz."
-
-#: captcha.module:32
-msgid "Location of comment submission form"
-msgstr "Position des Formulars zum Eingeben von Kommentaren"
-
-#: captcha.module:33
-msgid "Display on separate page"
-msgstr "Auf einer separaten Seite anzeigen."
-
-#: captcha.module:37
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA ist ein Warenzeichen der Carnegie Mellon Universität."
-
-#: captcha.module:42
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr "Ein CAPTCHA kann zu praktisch jedem Drupal-Formular hinzugefügt werden. \
Manche Standardformulare sind bereits in der Liste, zusätzliche Formulare können \
                hinzugefügt und verwaltet werden, wenn die Option \"%adminlinks\" \
                aktiviert ist."
-
-#: captcha.module:44
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr "Benutzer mit der  \"%skipcaptcha\" <a href=\"@perm\">Berechtigung</a> werden \
vom Test ausgenommen. Achten Sie darauf, dieses Recht nur vertrauenswürdigen \
Benutzern zu gewähren (z. B. Website-Administratoren). Wenn Sie zu ein geschütztes \
Formular testen wollen, so sollten Sie es als Benutzer tun, ohne die \"%skipcaptcha\" \
                Berechtigung (zB als anonymer Benutzer)."
-
-#: captcha.module:45;104
-msgid "skip CAPTCHA"
-msgstr "CAPTCHA überspringen"
-
-#: captcha.module:150
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Diese Frage hat den Zweck zu testen, ob Sie ein menschlicher Benutzer sind \
                und um automatisiertem Spam vorzubeugen."
-
-#: captcha.module:191
-msgid "CAPTCHA: \"@type\" enabled"
-msgstr "CAPTCHA: \"@type\" aktiviert"
-
-#: captcha.module:192
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Nicht vertauenswürdige Benutzer werden hier ein CAPTCHA sehen (!settings)."
-
-#: captcha.module:193
-msgid "general CAPTCHA settings"
-msgstr "Allgemeine CAPTCHA-Einstellungen"
-
-#: captcha.module:197
-msgid "Enabled challenge"
-msgstr "Test aktiviert"
-
-#: captcha.module:198
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "\"@type\" pro Modul \"@module\" (!change, !disable)"
-
-#: captcha.module:201
-msgid "change"
-msgstr "Ändern"
-
-#: captcha.module:202
-msgid "disable"
-msgstr "Deaktivieren"
-
-#: captcha.module:207
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: keine Test aktiviert"
-
-#: captcha.module:209
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Hier einen CAPTCHA für nicht vertrauenswürdige Benutzer platzieren."
-
-#: captcha.module:244
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr "CAPTCHA fehlgeschlagen."
-
-#: captcha.module:258
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "Die von Ihnen eingegebene Antwort war nicht korrekt."
-
-#: captcha.module:398
-msgid "Math Question"
-msgstr "Mathematischer Test"
-
-#: captcha.module:399
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Das einfache mathematische Problem ist zu lösen und das Ergebnis \
                einzugeben.  Z.B. muss für 1+3 der Wert 4 eingegebene werden."
-
-#: captcha.module:400
-msgid "@x + @y = "
-msgstr "@x + @y =  "
-
-#: (duplicate) captcha.module:117
-msgid "Already @counter blocked form submissions"
-msgstr "Es wurden bisher @counter Formulareingaben abgeblockt"
-
-#: captcha.module:263
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr "Der Beitrag von %form_id  wurde vom CAPTCHA Modul geblockt: Test \
\"%challenge\" (vom Modul \"%module\"), der Benutzer antwortete \"%response\", aber \
                die Lösung war \"%solution\"."
-
-#: captcha.module:58
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Verwalten, wo und wie CAPTCHAs verwendet werden."
-
-#: captcha.module:74
-msgid "General settings"
-msgstr "Allgemeine Einstellungen"
-
-#: captcha.module:80
-msgid "Examples"
-msgstr "Beispiele"
-
-#: captcha.module:81
-msgid "An overview of the available challenge types with examples."
-msgstr "Überblick verfügbarer Testtypen mit Beispielen."
-
-#: captcha.module:90
-msgid "CAPTCHA point administration"
-msgstr "Verwaltung der CAPTCHA Zuordnungen"
-
-#: captcha.module:0
-msgid "captcha"
-msgstr "captcha"
-
-#: captcha.install:10
-msgid "This table describes which challenges should be added to which forms."
-msgstr "Diese Tabelle beschreibt, welche Test zu welchem Formular hinzugefügt \
                wird."
-
-#: captcha.install:13
-msgid "The form_id of the form to add a CAPTCHA to."
-msgstr "Die form_id des Formulars, zu dem ein CAPTCHA hinzugefügt wird."
-
-#: captcha.install:19
-msgid "The module that provides the challenge."
-msgstr "Das Modul, das die Test bereitstellt."
-
-#: captcha.install:24
-msgid "The challenge type to use."
-msgstr "Der zu verwendende Testtyp."
-
-#: captcha.install:33;191
-msgid "Stores the data about CAPTCHA sessions (solution, IP address, timestamp, \
                ...)."
-msgstr "Speichert die Daten der CAPTCHA Sessions (Lösung, IP Adresse, Zeit, ...)."
-
-#: captcha.install:36;194
-msgid "CAPTCHA session ID."
-msgstr "CAPTCHA Session-ID."
-
-#: captcha.install:41;199
-msgid "User's {users}.uid."
-msgstr "{users}.uid des Benutzers."
-
-#: captcha.install:47;205
-msgid "Session ID of the user."
-msgstr "Session-ID des Benutzers."
-
-#: captcha.install:54;212
-msgid "IP addres of visitor."
-msgstr "IP Adresse des Besuchers."
-
-#: captcha.install:60;218
-msgid "A Unix timestamp indicating when the challenge was generated."
-msgstr "Ein UNIX Zeitstempel, der den Generierungszeitpunkt der Frage markiert."
-
-#: captcha.install:66;224
-msgid "The form_id of the form where the CAPTCHA is added to."
-msgstr "Die form_id des Formulars, zu dem ein CAPTCHA hinzugefügt wird."
-
-#: captcha.install:72;230
-msgid "Solution of the challenge."
-msgstr "Lösung des Test."
-
-#: captcha.install:79;237
-msgid "Status of the CAPTCHA session (unsolved, solved, ...)"
-msgstr "Status der CAPTCHA Session (ungelöst, gelöst, ...)"
-
-#: captcha.install:85;243
-msgid "The number of attempts."
-msgstr "Anzahl der Versuche."
-
-#: captcha.install:114
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "Das CAPTCHA Modul kann jetzt auf der Seite <a \
                href=\"!captcha_admin\">konfiguriert</a> werden."
-
-#: captcha.install:155
-msgid "Unsupported database."
-msgstr "Nicht unterstützte Datenbank."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Basis CAPTCHA Modul zur Erweiterung beliebiger Formulare mir einem CAPTCHA \
                (Test)."
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Spam Kontrolle"
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr "Eingebaute Schriftart"
-
-#: image_captcha/image_captcha.admin.inc:31
-msgid "Images cannot be generated, because your PHP installation's GD library has no \
                JPEG support."
-msgstr "Bilder können nicht erzeugt werden, weil zum Erstellen des Bildes die \
                GD-Bibliothek mit JPEG-Unterstützung erforderlich ist."
-
-#: image_captcha/image_captcha.admin.inc:36
-msgid "Code settings"
-msgstr "Texteigenschaften"
-
-#: image_captcha/image_captcha.admin.inc:40
-msgid "Characters to use in the code"
-msgstr "Zeichen, die im Text benutzt werden"
-
-#: image_captcha/image_captcha.admin.inc:45
-msgid "Code length"
-msgstr "Textlänge"
-
-#: image_captcha/image_captcha.admin.inc:48
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "Die Codelänge beeinflusst die Größe des Bildes. Je größer der Wert ist, \
                desto mehr Rechenzeit wird aufgewandt, um das Bild zu erstellen."
-
-#: image_captcha/image_captcha.admin.inc:53
-msgid "Case insensitive validation"
-msgstr "Groß- und Kleinschreibung wird nicht unterschieden"
-
-#: image_captcha/image_captcha.admin.inc:54
-msgid "Enable this option to ignore uppercase/lowercase errors in the response. This \
                can be usefull for certain target audiences or fonts."
-msgstr "Aktivieren Sie diese Option, um Groß-/ Kleinschreibung in der Antwort zu \
                ignorieren. Dies kann für bestimmte Zielgruppen oder Schriftarten \
                nützlich."
-
-#: image_captcha/image_captcha.admin.inc:61
-msgid "Font settings"
-msgstr "Schrifteinstellungen"
-
-#: image_captcha/image_captcha.admin.inc:67
-msgid "Font"
-msgstr "Schrift"
-
-#: image_captcha/image_captcha.admin.inc:69
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr "TrueType-Schrift (.ttf) zur Erzeugung des Textes in einem Bild-CAPTCHA."
-
-#: image_captcha/image_captcha.admin.inc:78
-msgid "Font size"
-msgstr "Schriftgröße"
-
-#: image_captcha/image_captcha.admin.inc:80
-msgid "tiny"
-msgstr "winzig"
-
-#: image_captcha/image_captcha.admin.inc:81;96;129
-msgid "small"
-msgstr "klein"
-
-#: image_captcha/image_captcha.admin.inc:82;97;153;191
-msgid "normal"
-msgstr "normal"
-
-#: image_captcha/image_captcha.admin.inc:83;98
-msgid "large"
-msgstr "groß"
-
-#: image_captcha/image_captcha.admin.inc:86
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Schriftgröße beeinflusst die Größe des Bildes. Je größer der Wert ist, \
                desto mehr Rechenzeit wird aufgewandt, um das Bild zu erstellen."
-
-#: image_captcha/image_captcha.admin.inc:92
-msgid "Character spacing"
-msgstr "Zeichenabstand"
-
-#: image_captcha/image_captcha.admin.inc:93
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Definieren Sie die durchschnittliche Abstand zwischen den Zeichen. Je \
größer der Wert ist, desto mehr Rechenzeit wird aufgewandt, um das Bild zu \
                erstellen."
-
-#: image_captcha/image_captcha.admin.inc:105
-msgid "Color settings"
-msgstr "Farbeinstellungen"
-
-#: image_captcha/image_captcha.admin.inc:106
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr "Einstellungen der Hintergrund- und Textfarbe für das Bild-CAPTCHA."
-
-#: image_captcha/image_captcha.admin.inc:110
-msgid "Background color"
-msgstr "Hintergrundfarbe"
-
-#: image_captcha/image_captcha.admin.inc:111
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90)."
-msgstr "Eingabe der Hintergrundfarbe in hexadezimaler Form (z.B. #FFF oder \
                #FFCE90)."
-
-#: image_captcha/image_captcha.admin.inc:118
-msgid "Text color"
-msgstr "Schriftfarbe"
-
-#: image_captcha/image_captcha.admin.inc:119
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Eingabe der Textfarbe in hexadezimaler Form (z.B. #000 oder #004283)."
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "Additional variation of text color"
-msgstr "Zusätzliche Variation der Textfarbe"
-
-#: image_captcha/image_captcha.admin.inc:130;152
-msgid "moderate"
-msgstr "mittel"
-
-#: image_captcha/image_captcha.admin.inc:131;154;192
-msgid "high"
-msgstr "hoch"
-
-#: image_captcha/image_captcha.admin.inc:132
-msgid "very high"
-msgstr "sehr hoch"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "Die verschiedenen Buchstaben werden verschiedene zufällige Schriftfarben im \
                angegebenen Bereich haben."
-
-#: image_captcha/image_captcha.admin.inc:142
-msgid "Distortion and noise"
-msgstr "Verzerrung und Rauschen"
-
-#: image_captcha/image_captcha.admin.inc:143
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr "Mit diesen Einstellungen können Sie den Grad Verschleierung und das Ausmaß \
des Rauschens steuern. Übertreiben Sie nicht die Verschleierung und prüfen Sie, \
dass der Code in den Bildern einigermaßen lesbar ist. Kombinieren Sie zum Beispiel \
                nicht starke Verzerrungen und starkes Rauschen."
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Distortion level"
-msgstr "Grad der Verzerrung"
-
-#: image_captcha/image_captcha.admin.inc:151;190
-msgid "low"
-msgstr "niedrig"
-
-#: image_captcha/image_captcha.admin.inc:155;193
-msgid "severe"
-msgstr "schwer"
-
-#: image_captcha/image_captcha.admin.inc:158
-msgid "Set the degree of wave distortion in the image."
-msgstr "Setzt den Grad der Wellenverzerrung im Bild."
-
-#: image_captcha/image_captcha.admin.inc:162
-msgid "Smooth distortion"
-msgstr "Sanfte Verzerrung"
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Diese Option aktiviert bilineare Interpolation der Verzerrung, so dass das \
                Bild weicher aussieht. Dies ist jedoch sehr CPU intensiv."
-
-#: image_captcha/image_captcha.admin.inc:169
-msgid "Double vision"
-msgstr "Doppelte Darstellung"
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "When enabled, characters appear twice in the image, overlaid onto each \
                other."
-msgstr "Wenn dies aktiviert ist, erscheinen Zeichen im Bild doppelt. Sie erscheinen \
                dann übereinandergelegt."
-
-#: image_captcha/image_captcha.admin.inc:176
-msgid "Add salt and pepper noise"
-msgstr "Bildrauschen hinzufügen"
-
-#: image_captcha/image_captcha.admin.inc:178
-msgid "This option adds randomly colored point noise."
-msgstr "Diese Option fügt ein Rauschen mit zufälligen farbigen Punkten hinzu."
-
-#: image_captcha/image_captcha.admin.inc:182
-msgid "Add line noise"
-msgstr "Linienrauschen hinzufügen"
-
-#: image_captcha/image_captcha.admin.inc:184
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Diese Option aktiviert zufällig über den Text gelegte Linien."
-
-#: image_captcha/image_captcha.admin.inc:188
-msgid "Noise level"
-msgstr "Grad des Rauschens"
-
-#: image_captcha/image_captcha.admin.inc:206
-msgid "The image CAPTCHA module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image CAPTCHA module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr "Das Bild CAPTCHA-Modul funktioniert am besten mit einer \
TrueType-Schriftart-Datei (TTF) für die Generierung der Bilder, aber wegen der \
Lizenzbedingungen ist es nicht gestattet, diese Schriftdateien mitzuliefern. Eine \
einfache Bitmap-Schrift ist stattdessen mitgeliefert. Sie können \
TrueType-Schriftarten installieren: laden Sie diese in das Schriftarten-Verzeichnis \
des CAPTCHA-Modul (Verzeichnis \"%fontsdir\") oder in Ihrer Drupal-Dateisystem \
                (Verzeichnis \"%filesdir\") mit dem Upload-Modul."
-
-#: image_captcha/image_captcha.admin.inc:209
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr "Die Benutzung der eingebauten Bitmap Schriften wird aufgrund ihrer geringen \
                Größe und der fehlenden UTF-8 Unterstützung nicht empfohlen."
-
-#: image_captcha/image_captcha.admin.inc:220
-msgid "The list of characters to use should not contain spaces."
-msgstr "Die Liste der Zeichen darf keine Leerzeichen enthalten."
-
-#: image_captcha/image_captcha.admin.inc:225
-msgid "You need to select a font"
-msgstr "Es muss eine Schriftart ausgewählt werden"
-
-#: image_captcha/image_captcha.admin.inc:228
-msgid "Font does not exist or is not readable."
-msgstr "Die Schriftart existiert nicht oder ist nicht lesbar."
-
-#: image_captcha/image_captcha.admin.inc:233
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Die Hintergrundfarbe wurde nicht als hexadezimaler Farbwert angegeben."
-
-#: image_captcha/image_captcha.admin.inc:236
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Die Textfarbe wurde nicht als hexadezimaler Farbwert angegeben."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "Das CAPTCHA-Bild konnte nicht erzeugt werden.  Bitte die Einstellungen für \
                Bild-CAPTCHA und insbesondere die benutzte Schriftart überprüfen."
-
-#: image_captcha/image_captcha.module:17
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "Das Bild CAPTCHA ist ein beliebter Test, bei dem ein zufälliger Text in ein \
Bild verwoben wird. Das Bild wird neu für jede einzelne Abfrage erzeugt, was \
entsprechend CPU-Zeit auf dem Server verbraucht. Wählen Sie die Größe und andere \
                Einstellungen mit Bedacht."
-
-#: image_captcha/image_captcha.module:22
-msgid "<p>Example image, generated with the current settings:</p>!img"
-msgstr "<p>Beispielbild, mit den aktuellen Einstellungen:</p>!img"
-
-#: image_captcha/image_captcha.module:146
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Bitte die im Bild dargestellten Buchstaben (ohne Leerzeichen) eingeben."
-
-#: image_captcha/image_captcha.module:149
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Bitte die im Bild dargestellten Buchstaben (ohne Leerzeichen) eingeben. \
Bitte die im Bild dargestellten Buchstaben (ohne Leerzeichen) eingeben und dabei \
                Groß- und Kleinschreibung beachten."
-
-#: image_captcha/image_captcha.module:159;159;35 image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "Bild-CAPTCHA"
-
-#: image_captcha/image_captcha.module:164
-msgid "What code is in the image?"
-msgstr "Welche Zeichen sind in dem Bild zu sehen?"
-
-#: image_captcha/image_captcha.module:94
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Innerhalb eines UTF-8 kodierten Textes wurde ein unzulässiges Zeichen \
                entdeckt."
-
-#: image_captcha/image_captcha.module:0
-msgid "image_captcha"
-msgstr "image_captcha"
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Stellt einen Bild basierten CAPTCHA bereit."
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/es.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/es.po deleted file \
mode 100644 index 07cec97..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/es.po
+++ /dev/null
@@ -1,717 +0,0 @@
-# $Id: es.po,v 1.2 2009/10/04 22:24:55 soxofaan Exp $
-#
-# Spanish translation of Drupal (general)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.30 2009/08/10 22:33:34 soxofaan
-#  image_captcha.admin.inc,v 1.28 2009/09/23 21:23:00 soxofaan
-#  captcha.module,v 1.100 2009/09/20 10:57:07 soxofaan
-#  captcha.inc,v 1.11 2009/08/27 22:21:56 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.21 2009/09/22 22:51:00 soxofaan
-#  image_captcha.module,v 1.31 2009/09/22 22:51:00 soxofaan
-#  captcha.install,v 1.10 2009/05/26 20:17:40 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Drupal 6.x\n"
-"POT-Creation-Date: 2009-09-28 04:38-0400\n"
-"PO-Revision-Date: 2009-10-03 15:57+0100\n"
-"Last-Translator: Gusgsm <gusgsm@gmail.com>\n"
-"Language-Team: Gusgsm <gusgsm@gmail.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Poedit-Language: Spanish\n"
-"X-Poedit-Country: SPAIN\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: captcha.admin.inc:16
-#: image_captcha/image_captcha.admin.inc:171
-msgid "none"
-msgstr "ninguno"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "Tipo de "
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr "@type (del módulo @module)"
-
-#: captcha.admin.inc:42
-msgid "Form protection"
-msgstr "Protección de formulario"
-
-#: captcha.admin.inc:43
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr "Seleccione el tipo de pregunta que desee para cada uno de los formularios \
listados (identificados por lo que se llama su <em>form_id</em>). Puede añadir \
fácilmente formularios con campos de texto de forma arbitraria al final de la tabla \
                con la ayuda de la opción CAPTCHA_admin_links, más abajo. "
-
-#: captcha.admin.inc:44;108
-#: captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Añadir enlaces de administración de CAPTCHA a los formularios"
-
-#: captcha.admin.inc:49
-msgid "Default challenge type"
-msgstr "Tipo de pregunta predefinida"
-
-#: captcha.admin.inc:50
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr "Seleccione el tipo de pregunta CAPTCHA predeterminada. Puede cambiarlo en \
                cada formulario especificando otro, si lo desea."
-
-#: captcha.admin.inc:86
-msgid "delete"
-msgstr "borrar"
-
-#: captcha.admin.inc:110
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr "Esta opción facilita la gestión de las opciones de preguntas CAPTCHA en \
los formularios. Si se activa los usuarios con los permisos \"%admincaptcha\" verán \
un campo de texto con los enlaces de administración de CAPTCHAs en todos los \
                formularios excepto en los de las páginas administrativas."
-
-#: captcha.admin.inc:110
-#: captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "Administrar las opciones de CAPTCHA"
-
-#: captcha.admin.inc:115
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr "Permitir el planteamiento de preguntas CAPTCHA y los enlaces para su \
                gestión en las páginas administrativas."
-
-#: captcha.admin.inc:117
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr "Esta opción permite añadir preguntas CAPTCHA a los formularios en las \
páginas administrativas. En principio, los CAPTCHA están desactivados en las \
páginas administrativas (ya que lo usual es que no sean accesibles a usuarios que no \
sean de confianza) para evitar la sobrecarga y retraso consiguiente. Sin embargo, en \
algunas situaciones (como sitios de demostración o prueba) podría ser útil añadir \
                CAPTCHAs en las páginas administrativas,"
-
-#: captcha.admin.inc:123
-msgid "Add a description to the CAPTCHA"
-msgstr "Añadir una descripción a la pregunta CAPTCHA"
-
-#: captcha.admin.inc:124
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr "Añadir una descripción configurable para explicar la finalidad de la \
                pregunta CAPTCHA al visitante."
-
-#: captcha.admin.inc:132
-msgid "CAPTCHA description"
-msgstr "Descripción de CAPTCHA"
-
-#: captcha.admin.inc:133;149
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr "Descripción configurable de la pregunta CAPTCHA. Si se deja el campo \
                vacío, la descripción se reconfigurará."
-
-#: captcha.admin.inc:139
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Para idioma %lang_name (código %lang_code)"
-
-#: captcha.admin.inc:148
-msgid "Challenge description"
-msgstr "Descripción de la pregunta"
-
-#: captcha.admin.inc:159
-msgid "Default CAPTCHA validation"
-msgstr "Validación predefinida de CAPTCHA"
-
-#: captcha.admin.inc:160
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr "Define cómo se deben procesar las respuestas de forma predefinida. Tenga en \
cuenta que los módulos que proporcionan las preguntas pueden alterar o ignorar \
                esto."
-
-#: captcha.admin.inc:162
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr "Validación que diferencia mayúsculas de mínúsculas: La respuesta tiene \
                que coincidir exactamente con la solución."
-
-#: captcha.admin.inc:163
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr "Validación que no diferencia mayúsculas de mínúsculas: Las diferencias \
                en esos casos no se tienen en cuenta."
-
-#: captcha.admin.inc:171
-msgid "Persistence"
-msgstr "Persistencia"
-
-#: captcha.admin.inc:174
-msgid "Always add a challenge."
-msgstr "Añadir siempre una pregunta"
-
-#: captcha.admin.inc:175
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Omitir preguntas de un formulario siempre que el usuario haya sabido \
                responder bien a una en ese formulario."
-
-#: captcha.admin.inc:176
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Omitir preguntas de todos los formularios cuando el usuario haya sabido \
                responder bien a una."
-
-#: captcha.admin.inc:178
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Definir si las preguntas deben desactivarse para el resto de la sesión una \
                vez que un usuario haya respondido con éxito a una de ellas."
-
-#: captcha.admin.inc:184
-msgid "Log wrong responses"
-msgstr "Registrar respuestas erróneas"
-
-#: captcha.admin.inc:185
-msgid "Report information about wrong responses to the !log."
-msgstr "Registrar la información de las respuestas erróneas en el !log."
-
-#: captcha.admin.inc:185
-msgid "log"
-msgstr "registro"
-
-#: captcha.admin.inc:192
-msgid "Save configuration"
-msgstr "Guardar configuración"
-
-#: captcha.admin.inc:202;342
-msgid "Challenge type"
-msgstr "Tipo de pregunta"
-
-#: captcha.admin.inc:202
-msgid "Operations"
-msgstr "Operaciones"
-
-#: captcha.admin.inc:229;363
-msgid "Illegal form_id"
-msgstr "form_id ilegal"
-
-#: captcha.admin.inc:255
-msgid "Added CAPTCHA point."
-msgstr "Añadido punto CAPTCHA."
-
-#: captcha.admin.inc:270
-msgid "Reset of CAPTCHA description for language %language."
-msgstr "Se ha restablecido la descripción de la pregunta CAPTCHA para el idioma \
                %language."
-
-#: captcha.admin.inc:281
-msgid "Reset of CAPTCHA description."
-msgstr "Restablecer la descripción de CAPTCHA."
-
-#: captcha.admin.inc:289
-msgid "The CAPTCHA settings were saved."
-msgstr "Las opciones de CAPTCHA se han guardado."
-
-#: captcha.admin.inc:321;335
-msgid "Form ID"
-msgstr "ID del formulario"
-
-#: captcha.admin.inc:322;336
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "La form_id de Drupal del formulario al que se quiere añadir la pregunta \
                CAPTCHA."
-
-#: captcha.admin.inc:343
-msgid "The CAPTCHA type to use for this form"
-msgstr "El tipo de CAPTCHA que se usará para este formulario"
-
-#: captcha.admin.inc:352
-msgid "Save"
-msgstr "Guardar"
-
-#: captcha.admin.inc:375
-msgid "Saved CAPTCHA point settings."
-msgstr "Opciones de puntos CAPTCHA guardadas."
-
-#: captcha.admin.inc:392
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr " ¿Está seguro de querer borrar la pregungta CAPTCHA para form_id %form_id?"
-
-#: captcha.admin.inc:393
-msgid "Delete"
-msgstr "Borrar"
-
-#: captcha.admin.inc:396
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr " ¿Está seguro de querer desactivar CAPCHA para form_id %form_id?"
-
-#: captcha.admin.inc:397
-msgid "Disable"
-msgstr "Desactivar"
-
-#: captcha.admin.inc:410
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "Se ha borrado la pregunta CAPTCHA para el formulario %form_id."
-
-#: captcha.admin.inc:414
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "Se ha desactivado  la pregunta CAPTCHA para el formulario %form_id."
-
-#: captcha.admin.inc:451
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Esta página proporciona un resumen de los tipos de preguntas disponibles, \
                generadas con sus configuraciones actuales."
-
-#: captcha.admin.inc:459
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Pregunta \"%challenge\" por módulo \"%module\""
-
-#: captcha.admin.inc:462
-msgid "10 more examples of this challenge."
-msgstr "Diez ejemplos más de esta pregunta."
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr "No se pudo establecer un tipo de pregunta CAPTCHA para el formulario \
                %form_id: No se logró interpretar el valor \"@captcha_type\""
-
-#: captcha.inc:146
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Esta pregunta se hace para comprobar que es usted una persona real e impedir \
                el envío automatizado de mensajes basura."
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "\"CAPTCHA\" es un acrónimo de \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\" <em>(test de Turing completamente automatizado para \
distinguir humanos de ordenadores)</em>. Es la típica pregunta cuya respuesta \
permite determinar si el usuario es o no humano. El módulo CAPTCHA es una \
herramienta para combatir contra los envíos automatizados por parte de usuarios mal \
intencionados (spam) en formularios de comentarios, de registro como nuevos usuarios, \
libros de visitas, etc... Pueden añadirse nuevos formularios con nuevas preguntas \
que un humano debería poder contestar pero que deberían ser lo bastante difíciles \
                para rechazar  códigos y programas automáticos."
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr "Tenga en cuenta que el módulo CAPTCHA interactua con la caché de páginas \
(consulte <a href=\"!performancesettings\">opciones de rendimiento</a>). Como la \
pregunta debe ser distinta para cada formulario generado, la caché de la página en \
la que aparece queda inutilizada. Asegúrese de que estos formularios no aparezcan en \
demasiadas páginas o la caché perderá mucha eficiencia. Por ejemplo, si pone una \
pregunta CAPTCHA en el bloque de comienzo de sesión como usuario, que suele aparecer \
en cada página que ve un usuario anónimo, la caché quedará virtualmente \
desactivada. En ese caso, debería disponer el %commentlocation\" en\"%separatepage\" \
en las opciones de comentarios de los <a href=\"!contenttypes\">tipos de \
                contenido</a> relevantes para ajustar la eficiencia de la caché."
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr "Ubicación del formulario de envío de comentarios"
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr "Mostrar en una página aparte"
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA es una marca registrada de la Universidad Carnegie Mellon."
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr "Se puede añadir una pregunta CAPTCHA casi a cualquier formulario en Drupal. \
Algunos formularios ya vienen en la lista de formularios predeterminada, pero se \
pueden añadir y gestionar otros formularios si se activa la opción \
                \"%adminlinks\"."
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr "A los usuarios con <a href=\"@perm\">permisos</a> \"%skipcaptcha\"  no se \
les planteará una pregunta. Asegúrese de conceder este permiso a usuarios de \
confianza (como los administradores del sitio web). Si quiere probar un formualrio \
protegido, compruebe que lo hace como usario sin el permiso \"%skipcaptcha\"; por \
                ejemplo: Como usuario anónimo no registrado."
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr "Evitar CAPTCHA"
-
-#: (duplicate) captcha.module:269;322;119
-#: ;222;427;456;60;71 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29;73
-#: image_captcha/image_captcha.module:95
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA: Activada la pregunta \"@type\""
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Los usuarios que no son de confianza verán un CAPTCHA aquí (!settings)."
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr "opciones generales de CAPTCHA"
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr "Pregunta activada"
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "\"@type\" por el módulo \"@module\" (!change, !disable)"
-
-#: captcha.module:337
-msgid "change"
-msgstr "cambiar"
-
-#: captcha.module:338
-msgid "disable"
-msgstr "desactivar"
-
-#: captcha.module:352
-#: image_captcha/image_captcha.admin.inc:57
-msgid "Example"
-msgstr "Ejemplo"
-
-#: captcha.module:353
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr "Este es un ejemplo ya resuelto de la pregunta y no impide nada."
-
-#: captcha.module:362
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: No se ha establecido ninguna pregunta"
-
-#: captcha.module:364
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Ponga un CAPTCHA a aquellos usuarios que no son de confianza."
-
-#: captcha.module:426
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID. Contact the site \
                administrator if this problem persists."
-msgstr "Error de validación CAPTCHA: ID de sesión CAPCHA no identificada. Contacte \
                con los administradores de este sitio si el problema persiste."
-
-#: captcha.module:451
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "La respuesta a la pregunta no es correcta."
-
-#: captcha.module:538
-msgid "Math question"
-msgstr "Pregunta matemática"
-
-#: captcha.module:539
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Resuelva este simple problema matemático y escriba la solución; por \
                ejemplo: Para 1+3, escriba 4."
-
-#: captcha.module:540
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-#: captcha.module:559
-msgid "Test one two three"
-msgstr "Prueba uno dos tres"
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr "Problema de CAPTCHA: hook_captcha() del módulo %module no devolvió nada al \
                intentar extraer la pregunta del tipo %type para el formulario \
                %form_id."
-
-#: captcha.module:427
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID (%csid)."
-msgstr "Error de validación de CAPTCHA: ID de sesión de CAPTCHA desconocido \
                (%csid)."
-
-#: captcha.module:456
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr "mensaje de %form_id bloqueado por el módulo CAPTCHA: Pregunta \
\"%challenge\" (del módulo \"%module\"), el usuario respondió \"%response\", pero \
                la solución era \"%solution\"."
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "Ya se ha bloqueado 1 envío a formulario"
-msgstr[1] "Ya se han bloqueado @count envíos a formularios"
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Administra cómo y cuándo se usa CAPTCHA."
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Opciones generales"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Ejemplos"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr "Un resumen de los tipos de preguntas disponibles con ejemplos."
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr "Administración de puntos CAPTCHA"
-
-#: captcha.module:0
-msgid "captcha"
-msgstr "captcha"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Base de datos no admitida."
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "Ahora puede <a href=\"!captcha_admin\">configurar el módulo CAPTCHYA </a> \
                en el sitio web."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "El módulo CAPTCHA base para añadir preguntas a los formularios de manera \
                arbitraria."
-
-#: captcha.info:0
-#: image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Control de correo basura"
-
-#: image_captcha/image_captcha.admin.inc:29
-msgid "Built-in font"
-msgstr "Fuente predefinida"
-
-#: image_captcha/image_captcha.admin.inc:47
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a> with JPEG \
                support)."
-msgstr "El módulo de preguntas CAPTCHA de imágenes no puede generar las imágenes \
por que su configuración de PHP no lo admite  (no hay una <a href=\"!gdlib\">GD \
                library</a> que admita formato JPEG)."
-
-#: image_captcha/image_captcha.admin.inc:58
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr "Ejemplo de un CAPTCHA de imagen ya solucionado, creado con las opciones \
                actuales."
-
-#: image_captcha/image_captcha.admin.inc:69
-msgid "Code settings"
-msgstr "Opciones de código"
-
-#: image_captcha/image_captcha.admin.inc:73
-msgid "Characters to use in the code"
-msgstr "Caracteres que se usarán en el código"
-
-#: image_captcha/image_captcha.admin.inc:78
-msgid "Code length"
-msgstr "Longitud del código"
-
-#: image_captcha/image_captcha.admin.inc:81
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "La longitud del código influye en el tamaño de la imagen. Tenga en cuenta \
que cuanto mayor sea la longitud, más tendrá que esforzarse la CPU para crear la \
                imagen."
-
-#: image_captcha/image_captcha.admin.inc:87
-msgid "Font settings"
-msgstr "Opciones de fuente"
-
-#: image_captcha/image_captcha.admin.inc:93
-msgid "Font"
-msgstr "Fuente"
-
-#: image_captcha/image_captcha.admin.inc:95
-msgid "Select the font to use for the text in the image CAPTCHA. Apart from the \
provided defaults, you can also use your own TrueType fonts (filename extension .ttf) \
by putting them in the Drupal \"files\" directory (directory %filesdir), \
                %fonts_library_general or %fonts_library_specific."
-msgstr "Seleccione que tipo de letra desea usar en el texto del CAPTCHA de imagen. \
Además de las predefinidas, puede añadir sus propias fuentes TrueType (con la \
extensión de documento .ttf) colocándolas en el directorio \"files\" de su \
instalación Drupal (directory %filesdir), %fonts_library_general o \
                %fonts_library_specific."
-
-#: image_captcha/image_captcha.admin.inc:110
-msgid "Font size"
-msgstr "Tamaño de letras"
-
-#: image_captcha/image_captcha.admin.inc:112
-msgid "tiny"
-msgstr "Diminuto"
-
-#: image_captcha/image_captcha.admin.inc:113;172
-msgid "small"
-msgstr "pequeño"
-
-#: image_captcha/image_captcha.admin.inc:115;139
-msgid "normal"
-msgstr "normal"
-
-#: image_captcha/image_captcha.admin.inc:117
-msgid "large"
-msgstr "grande"
-
-#: image_captcha/image_captcha.admin.inc:119
-msgid "extra large"
-msgstr "extra grande"
-
-#: image_captcha/image_captcha.admin.inc:122
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "El tamaño de la fuente influye en el tamaño de la imagen. Tenga en cuenta \
que un valor mayor hará que la creación de la imagen será más trabajosa para la \
                CPU."
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Character spacing"
-msgstr "Espacio entre caracteres"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Define el espacio promedio entre caracteres. Tenga en cuenta que a mayores \
tamaños, la imagen resultante será mayor y también lo será el esfuerzo que tenga \
                que hacer la CPU."
-
-#: image_captcha/image_captcha.admin.inc:138
-msgid "tight"
-msgstr "apretado"
-
-#: image_captcha/image_captcha.admin.inc:140
-msgid "wide"
-msgstr "amplio"
-
-#: image_captcha/image_captcha.admin.inc:141
-msgid "extra wide"
-msgstr "extra amplio"
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Color and image settings"
-msgstr "Opciones de color e imagen"
-
-#: image_captcha/image_captcha.admin.inc:149
-msgid "Configuration of the background, text colors and file format of the image \
                CAPTCHA."
-msgstr "Configuración de los colores de fondo y textos, y del formato del documento \
                con la imagen CAPTCHA."
-
-#: image_captcha/image_captcha.admin.inc:153
-msgid "Background color"
-msgstr "Color de fondo"
-
-#: image_captcha/image_captcha.admin.inc:154
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90). \
When using the PNG file format with transparent background, it is recommended to set \
                this close to the underlying background color."
-msgstr "Indique el valor hexadecimal del color de fondo; por ejemplo: #fff o \
#ffce90. En el caso de usar el formato PNG con fondo transparente, se recomienda \
                indicar un color similar al color que tenga el fondo."
-
-#: image_captcha/image_captcha.admin.inc:161
-msgid "Text color"
-msgstr "Color del texto"
-
-#: image_captcha/image_captcha.admin.inc:162
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Indique un valor decimal para el color del texto; por ejemplo: #000 o \
                #004283."
-
-#: image_captcha/image_captcha.admin.inc:169
-msgid "Additional variation of text color"
-msgstr "Variación adicional del color del texto"
-
-#: image_captcha/image_captcha.admin.inc:173
-msgid "moderate"
-msgstr "moderada"
-
-#: image_captcha/image_captcha.admin.inc:174;245
-msgid "high"
-msgstr "alta"
-
-#: image_captcha/image_captcha.admin.inc:175
-msgid "very high"
-msgstr "extrema"
-
-#: image_captcha/image_captcha.admin.inc:178
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "Las distintas letras tendrán colores al azar en el rango determinado en \
                torno al color del texto."
-
-#: image_captcha/image_captcha.admin.inc:182
-msgid "File format"
-msgstr "Formato de documento"
-
-#: image_captcha/image_captcha.admin.inc:183
-msgid "Select the file format for the image. JPEG usually results in smaller files, \
                PNG allows tranparency."
-msgstr "Seleccione el formato de documento para la imagen. JPEG suele proporcionar \
                documentos más reducidos, mientras que PNG permite transparencia."
-
-#: image_captcha/image_captcha.admin.inc:186
-msgid "JPEG"
-msgstr "JPEG"
-
-#: image_captcha/image_captcha.admin.inc:187
-msgid "PNG"
-msgstr "PNG"
-
-#: image_captcha/image_captcha.admin.inc:188
-msgid "PNG with transparent background"
-msgstr "PNG con fondo transparente"
-
-#: image_captcha/image_captcha.admin.inc:195
-msgid "Distortion and noise"
-msgstr "Distorsión y ruido"
-
-#: image_captcha/image_captcha.admin.inc:196
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr "Con estas opciones se controla el grado de legibilidad añadiendo \
dirtorsiones y ruido. No exagere la pérdida de legibilidad y asegúrese de que el \
código de la imagen será razonablemente comprensible; por ejemplo: No combine altos \
                niveles de distorsión y ruido."
-
-#: image_captcha/image_captcha.admin.inc:201
-msgid "Distortion level"
-msgstr "Nivel de distorsión"
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "@level - no distortion"
-msgstr "@level - Sin distorsión"
-
-#: image_captcha/image_captcha.admin.inc:204
-msgid "@level - low"
-msgstr "@level - Poca"
-
-#: image_captcha/image_captcha.admin.inc:208
-msgid "@level - medium"
-msgstr "@level - Media"
-
-#: image_captcha/image_captcha.admin.inc:213
-msgid "@level - high"
-msgstr "@level - Alta"
-
-#: image_captcha/image_captcha.admin.inc:216
-msgid "Set the degree of wave distortion in the image."
-msgstr "Establecer el nivel de la onda de distorsión en la imagen."
-
-#: image_captcha/image_captcha.admin.inc:220
-msgid "Smooth distortion"
-msgstr "Distorsión suave"
-
-#: image_captcha/image_captcha.admin.inc:222
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Esta opción permite la interpolación bilineal de la distorsión, lo que \
                hace que la imagen se vea más suavizada, pero añade más carga a la \
                CPU."
-
-#: image_captcha/image_captcha.admin.inc:227
-msgid "Add salt and pepper noise"
-msgstr "Añadir ruido granular"
-
-#: image_captcha/image_captcha.admin.inc:229
-msgid "This option adds randomly colored point noise."
-msgstr "Esta opción añade ruido de puntos de colores al azar."
-
-#: image_captcha/image_captcha.admin.inc:233
-msgid "Add line noise"
-msgstr "Añadir línea de ruido"
-
-#: image_captcha/image_captcha.admin.inc:235
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Esta opción coloca trazos al azar encima del texto del código."
-
-#: image_captcha/image_captcha.admin.inc:239
-msgid "Noise level"
-msgstr "Nivel de ruido"
-
-#: image_captcha/image_captcha.admin.inc:241
-msgid "low"
-msgstr "bajo"
-
-#: image_captcha/image_captcha.admin.inc:243
-msgid "medium"
-msgstr "medio"
-
-#: image_captcha/image_captcha.admin.inc:247
-msgid "severe"
-msgstr "intenso"
-
-#: image_captcha/image_captcha.admin.inc:264
-msgid "The Image CAPTCHA module can not use TrueType fonts because your PHP setup \
                does not support it. You can only use a low quality built-in bitmap \
                font."
-msgstr "El módulo de preguntas CAPTCHAs de imagen no puede usar fuentes TrueType \
porque su configuración de PHP no lo admite. Sólo puede usar una fuente de sistema \
                de mapa de bits de baja calidad."
-
-#: image_captcha/image_captcha.admin.inc:269
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr "El uso de una fuente de mapa de bits del sistema no se recomienda debido a \
                su reducido tamaño y a que no funcionan con UTF-8."
-
-#: image_captcha/image_captcha.admin.inc:280
-msgid "The list of characters to use should not contain spaces."
-msgstr "La lista de caracteres no deben incluir espacios"
-
-#: image_captcha/image_captcha.admin.inc:285
-msgid "You need to select a font"
-msgstr "Tiene que seleccionar una fuente"
-
-#: image_captcha/image_captcha.admin.inc:290
-msgid "The built-in font only supports Latin2 characters. Only use \"a\" to \"z\" \
                and numbers."
-msgstr "La fuente del sistema sólo admite caracteres Latin2. Utilice sólo letras \
                de la \"a\" a la \"z\" y números."
-
-#: image_captcha/image_captcha.admin.inc:294
-msgid "Font does not exist or is not readable."
-msgstr "La fuente no existe o no es legible."
-
-#: image_captcha/image_captcha.admin.inc:299
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "El color de fondo no es un valor de color hexadecimal válido."
-
-#: image_captcha/image_captcha.admin.inc:302
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "El color del texto no es un valor hexadecimal válido."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "No se pudo crear la imagen CAPTCHA. Compruebe la configuración de su \
                CAPTCHA de imagen y, sobre todo, qué tipo de letra se ha usado."
-
-#: image_captcha/image_captcha.user.inc:73
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr "No se pudo leer la fuente  (\"%font\") especificada para la pregunta CAPTCHA \
                de imagen."
-
-#: image_captcha/image_captcha.module:29
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "El CAPTCHA de imagen es un tipo popular de pregunta en la que un texto \
aleatorio se distorsiona y oculta como una imagen. Ésta imagen se genera sobre la \
marcha con cada petición, por lo que se incrementa el esfuerzo de la CPU del \
servidor. Tenga cuidado con las opciones relacionadas con su tamaño y cualquier \
                esfuerzo del procesador."
-
-#: image_captcha/image_captcha.module:165
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Escriba los caracteres que se deben mosytrar en la imagen. Los espacios no \
                se tendrán en cuenta. Tenga cuidado con las mayúsculas y \
                minúsculas."
-
-#: image_captcha/image_captcha.module:168
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Escriba los caracteres (sin espacios) que se deben mostrar en la imagen."
-
-#: image_captcha/image_captcha.module:178;178;41
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "CAPTCHA de imagen"
-
-#: image_captcha/image_captcha.module:183
-msgid "What code is in the image?"
-msgstr " ¿Cuál es el código de la imagen?"
-
-#: image_captcha/image_captcha.module:95
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Se ha encontrado un byte ilegal al distribuir en caracteres una cadena \
                utf8."
-
-#: image_captcha/image_captcha.module:0
-msgid "image_captcha"
-msgstr "image_captcha"
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Proporcionar una pregunta CAPTCHA basada en una imagen."
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fi.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fi.po deleted file \
mode 100644 index 2c98f4c..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fi.po
+++ /dev/null
@@ -1,747 +0,0 @@
-#
-# LANGUAGE translation of Drupal (general)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.5.2.5 2008/03/09 02:16:57 soxofaan
-#  image_captcha.admin.inc,v 1.3 2008/01/07 13:34:53 soxofaan
-#  captcha.module,v 1.58.2.5 2008/03/09 02:16:57 soxofaan
-#  captcha.info,v 1.5 2007/10/27 18:24:50 robloach
-#  image_captcha.user.inc,v 1.3 2008/01/07 13:34:53 soxofaan
-#  image_captcha.module,v 1.8.2.1 2008/03/09 01:42:07 soxofaan
-#  captcha.install,v 1.3.2.2 2008/03/20 10:27:53 soxofaan
-#  image_captcha.info,v 1.3 2007/12/11 12:05:32 soxofaan
-#  text_captcha.info,v 1.3 2008/01/04 14:29:58 soxofaan
-#  text_captcha.admin.inc,v 1.1 2008/01/04 14:29:58 soxofaan
-#  text_captcha.user.inc,v 1.1 2008/01/04 14:29:58 soxofaan
-#  text_captcha.module,v 1.3.2.1 2008/02/27 15:20:51 soxofaan
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: captcha-6.x-2.0\n"
-"POT-Creation-Date: 2009-08-22 09:54+0300\n"
-"PO-Revision-Date: 2009-08-22 16:15+0200\n"
-"Last-Translator: Juhani Pirinen <juhani.pirinen@ontieto.com>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Poedit-Language: Finnish\n"
-"X-Poedit-Country: FINLAND\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: captcha.admin.inc:16
-#: image_captcha/image_captcha.admin.inc:157;179
-msgid "none"
-msgstr "ei mitään"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "oletus tarkistustyyppi"
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr "@type (moduuli @module)"
-
-#: captcha.admin.inc:42
-msgid "Form protection"
-msgstr "Lomakkeen suojaus"
-
-#: captcha.admin.inc:43
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr "Valitse tarkistuksen tyyppi jokaiselle listan lomakkeelle (yksilöintiin \
käytetään <em>form_id</em>:tä). Voit helposti lisätä tarkituksen muillekin \
                lomakkeille taulukon alla tai käyttämällä alla valintaa \
                '%CAPTCHA_admin_links'."
-
-#: captcha.admin.inc:44;108
-#: captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Lisää CAPTCHA ylläpitolinkit lomakkeille"
-
-#: captcha.admin.inc:49
-msgid "Default challenge type"
-msgstr "Oletus tarkistustyyppi"
-
-#: captcha.admin.inc:50
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr "Valitse oletus tarkistustyyppi CAPTCHAlle.  Tämä voidaan tarvittaessa \
                ohittaa kunkin lomakkeen asetuksissa."
-
-#: captcha.admin.inc:86
-msgid "delete"
-msgstr "poista"
-
-#: captcha.admin.inc:110
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldsset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr "Tämä valinta helpottaa CAPTCHAn asetusten ylläpitoa lomakkeissa. Kun \
tämä on käytössä, ne käyttäjät joilla on \"%admincaptcha\" oikeus näkevät \
                CAPTCHA ylläpitolinkin kaikilla lomakkeilla, paitsi \
                ylläpitosivuilla."
-
-#: captcha.admin.inc:110
-#: captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "CAPTCHAn asetusten määrittely"
-
-#: captcha.admin.inc:115
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr "Ota käyttöön CAPTCHAt ja CAPTCHAn ylläpitolinkit ylläpitosivuilla"
-
-#: captcha.admin.inc:117
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr "Tämä valinta mahdollistaa CAPTCHAn lisäämisen lomakkeisiin \
ylläpitosivuilla.  Oletusarvoisesti CAPTCHAt eivät ole käytössä \
ylläpitosivuilla (joille epäluotetuilla käyttäjillä ei normaalisti pitäisi olla \
pääsyä) turhan kuormituksen välttämiseksi.  Joissain tapauksissa, esim. \
                demosivuilla, voi olla käytännöllistä käyttää CAPTCHAa \
                ylläpitosivuilla."
-
-#: captcha.admin.inc:123
-msgid "Add a description to the CAPTCHA"
-msgstr "Lisää CAPTCHAlle kuvaus"
-
-#: captcha.admin.inc:124
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr "Lisää muokattava kuvaus selittämään CAPTCHAn tarkoitusta \
                käyttäjälle."
-
-#: captcha.admin.inc:132
-msgid "CAPTCHA description"
-msgstr "CAPTCHAn kuvaus"
-
-#: captcha.admin.inc:133;149
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr "CAPTCHAn muokattava kuvaus.  Tyhjä arvo tyhjentää kuvauksen."
-
-#: captcha.admin.inc:139
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Kielelle %lang_name (koodi %lang_code)"
-
-#: captcha.admin.inc:148
-msgid "Challenge description"
-msgstr "Tarkistuksen kuvaus"
-
-#: captcha.admin.inc:159
-msgid "Default CAPTCHA validation"
-msgstr "CAPTCHAn oletushyväksyntä"
-
-#: captcha.admin.inc:160
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr "Määrittele miten vastauksia prosessoidaan oletusarvoisesti.  Huomaa, että \
moduulit jotka varsinaisesti tuottavat tarkistukset, voivat ohittaa tämän tai olla \
                välittämättä tästä."
-
-#: captcha.admin.inc:162
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr "Merkkikokoriippuvainen hyväksyntä: vastauksen täytyy vastata ratkaisua \
                tarkasti."
-
-#: captcha.admin.inc:163
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr "Merkkikokoriippumaton hyväksyntä: pieni/iso eroavuudesta syntyvät virheet \
                jätetään huomiotta."
-
-#: captcha.admin.inc:171
-msgid "Persistence"
-msgstr "Pysyvyys"
-
-#: captcha.admin.inc:174
-msgid "Always add a challenge."
-msgstr "Lisää tarkistus aina."
-
-#: captcha.admin.inc:175
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Ohita tarkistukset samalla lomakkeella, jolla käyttäjä on vastannut \
                tarkistuskyselyyn oikein."
-
-#: captcha.admin.inc:176
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Ohita tarkistukset kaikissa lomakkeissa, kun käyttäjä on vastannut \
                tarkistuskyselyyn oikein."
-
-#: captcha.admin.inc:178
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Määrittele ohitetaanko tarkistukset loppuistunnon ajaksi, kun käyttäjä \
                on vastannut tarkistuskyselyyn oikein."
-
-#: captcha.admin.inc:184
-msgid "Log wrong responses"
-msgstr "Kirjaa väärät vastaukset lokiin"
-
-#: captcha.admin.inc:185
-msgid "Report information about wrong responses to the !log."
-msgstr "Raportoi vääristä vastauksista !log."
-
-#: captcha.admin.inc:185
-msgid "log"
-msgstr "lokiin"
-
-#: captcha.admin.inc:192
-msgid "Save configuration"
-msgstr "Tallenna asetukset"
-
-#: captcha.admin.inc:202;342
-msgid "Challenge type"
-msgstr "Tarkistustyyppi"
-
-#: captcha.admin.inc:202
-msgid "Operations"
-msgstr "Toiminnot"
-
-#: captcha.admin.inc:229;363
-msgid "Illegal form_id"
-msgstr "Kielletty form_id"
-
-#: captcha.admin.inc:255
-msgid "Added CAPTCHA point."
-msgstr "CAPTCHA kohde lisätty."
-
-#: captcha.admin.inc:270
-msgid "Reset of CAPTCHA description for language %language."
-msgstr "Tyhjennä CAPTCHAn kuvaus kielelle %language."
-
-#: captcha.admin.inc:281
-msgid "Reset of CAPTCHA description."
-msgstr "CAPTCHA kuvauksen tyhjennys."
-
-#: captcha.admin.inc:289
-msgid "The CAPTCHA settings were saved."
-msgstr "CAPTCHAn asetukset tallennettu."
-
-#: captcha.admin.inc:321;335
-msgid "Form ID"
-msgstr "Form ID"
-
-#: captcha.admin.inc:322;336
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Drupalin form_id lomakkeelle johon CAPTCHA lisätään."
-
-#: captcha.admin.inc:343
-msgid "The CAPTCHA type to use for this form"
-msgstr "CAPTCHA tyyppi tälle lomakkeelle"
-
-#: captcha.admin.inc:352
-msgid "Save"
-msgstr "Tallenna"
-
-#: captcha.admin.inc:375
-msgid "Saved CAPTCHA point settings."
-msgstr "CAPTCHA kohdeasetukset tallennettu."
-
-#: captcha.admin.inc:392
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Haluatko varmasti poistaa CAPTCHAn lomakkeelta %form_id?"
-
-#: captcha.admin.inc:393
-msgid "Delete"
-msgstr "Poista"
-
-#: captcha.admin.inc:396
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Haluatko varmasti poistaa CAPTCHAn käytöstä lomakkeelta %form_id?"
-
-#: captcha.admin.inc:397
-msgid "Disable"
-msgstr "Poista käytöstä"
-
-#: captcha.admin.inc:410
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "CAPTCHA poistettu lomakkeelta %form_id."
-
-#: captcha.admin.inc:414
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "CAPTCHA poistettu käytöstä lomakkeelta %form_id."
-
-#: captcha.admin.inc:451
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Tämä sivu antaa yleiskatsauksen saatavilla olevista tarkistustyyppeistä, \
                jotka on muodostettu nykyisillä asetuksilla."
-
-#: captcha.admin.inc:459
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Moduulin \"%module\" tarkistus \"%challenge\""
-
-#: captcha.admin.inc:462
-msgid "10 more examples of this challenge."
-msgstr "10 lisäesimerkkiä tarkistuksesta."
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr "CAPTCHA-tyypin asetus lomakkeelle %form_id epäonnistui: ei voitu tulkita \
                arvoa \"@captcha_type\""
-
-#: captcha.inc:145
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Tämä kysymys esitetään, jotta lomakkeen automatisoitu käyttö \
                voitaisiin estää."
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "\"CAPTCHA\" on lyhenne sanoista \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\".  Yleensä se on kysymys-vastaus testi, jolla \
määritetään, onko käyttäjä ihminen. CAPTCHA moduuli on työkalu taistelussa \
pahantahtoisten käyttäjien automatisoituja lähetyksiä (spamia) vastaan, \
esimerkiksi rekisteröitymislomakkeissa, vieraskirjalomakkeissa, jne.  Haluttuja \
lomakkeita voi laajentaa lisätarkistuksella, jonka ihmisten pitäisi olla helppo \
ratkaista oikein, mutta joka on riittävän vaikea pitämään automaattiset skriptit \
                ja spam botit poissa."
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr "Huomaa, että CAPTCHA moduuli vaikuttaa sivuvälimuistin käyttöön (katso \
<a href=\"!performancesettings\">suorituskykyasetukset</a>). Koska tarkistus on \
ainutkertainen joka lomakkeelle, estetään kohdelomakkeen tallennus \
sivuvälimuistiin.  Varmista, että näitä lomakkeita ei ole sivustolla liian monta, \
muuten sivuvälimuistin käytön hyötysuhteesta menetetään paljon.  Esimerkiksi, \
jos laitat CAPTCHAn sisäänkirjautumislohkoon, mikä tavallisesti on joka sivulla \
anonyymeille vierailijoille, sivuvälimuistin käyttö käytännössä estyy.  \
Kommenttien lähetyslomakkeet ovat toinen esimerkki.  Tässä tapauksessa \
\"%commentlocation\" pitäisi asettaa kohteeseen \"%separatepage\" kommenttien \
asetuksissa <a href=\"!contenttypes\">sisällön tyypeissä</a>, jotta välimuistin \
                käytön hyötysuhde olisi parempi."
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr "Kommenttien lähetyslomakkeen sijainti"
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr "Näytä erillisellä sivulla"
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA on Carnegie Mellon Yliopiston tavaramerkki."
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr "CAPTCHA voidaan lisätä käytännöllisesti katsoen kaikkiin Drupalin \
lomakkeisiin. Joitakin oletuslomakkeita on jo listalla, mutta yleensä kaikkiin \
                lomakkeisiin voidaan lisätä tarkistus kun valinta \"%adminlinks\" \
                on käytössä."
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr "Käyttäjille, joilla on \"%skipcaptcha\" <a href=\"@perm\">oikeus</a> ei \
näytetä tarkistusta. Varmista, että tämä annetaan vain luotetuille käyttäjille \
(esim. ylläpitäjille). Jos tahdot testata suojattua lomaketta, varmista että teet \
sen käyttäjänä ilman \"%skipcaptcha\" oikeutta (esim. anonyyminä \
                käyttäjänä)."
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr "CAPTCHAn ohittaminen"
-
-#: (duplicate) captcha.module:269;322;119
-#: ;222;442;60;71 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29;72
-#: image_captcha/image_captcha.module:94
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA: tarkistus \"@type\" käytössä"
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Epäluotetut käyttäjät näkevät CAPTCHAn tässä (!settings)."
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr "Yleiset CAPTCHA asetukset"
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr "Käyttöönotettu tarkistus"
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "Moduulin \"@module\" \"@type\" (!change, !disable)"
-
-#: captcha.module:337
-msgid "change"
-msgstr "muuta"
-
-#: captcha.module:338
-msgid "disable"
-msgstr "pois käytöstä"
-
-#: captcha.module:343
-#: image_captcha/image_captcha.admin.inc:49
-msgid "Example"
-msgstr "Esimerkki"
-
-#: captcha.module:344
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr "Tämä on esiratkaistu, ei-estävä esimerkki tästä tarkistuksesta."
-
-#: captcha.module:353
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: tarkistusta ei käytössä"
-
-#: captcha.module:355
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Aseta tähän CAPTCHA epäluotetuille käyttäjille."
-
-#: captcha.module:417
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr "CAPTCHA testi epäonnistui (tuntematon csid)."
-
-#: captcha.module:437
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "CAPTCHAan annettu vastaus ei ollut oikein."
-
-#: captcha.module:524
-msgid "Math question"
-msgstr "Laskutehtävä"
-
-#: captcha.module:525
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Ratkaise tämä pieni laskutehtävä ja anna vastaus. Esim. 1+3, anna 4."
-
-#: captcha.module:526
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-#: captcha.module:545
-msgid "Test one two three"
-msgstr "Testi yksi kaksi kolme"
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr "CAPTCHA ongelma: moduulin %module hook_captcha() ei palauttanut mitään kun \
                yritettiin hakea tarkistustyyppiä %type lomakkeelle %form_id."
-
-#: captcha.module:442
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr "CAPTCHA moduuli on estänyt %form_id:n lähetyksen. Tarkistus \"%challenge\" \
(moduulilta \"%module\"), käyttäjä vastasi \"%response\", kun oikea vastaus oli \
                \"%solution\"."
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "Jo 1 estetty lomakkeen lähetys"
-msgstr[1] "Jo @count estettyä lomakkeen lähetystä"
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Aseta miten ja missä CAPTCHAa käytetään."
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Yleiset asetukset"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Esimerkit"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr "Yleiskatsaus saatavilla oleviin tarkistustyyppeihin esimerkkien kanssa."
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr "CAPTCHA kohteiden ylläpito"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Ei tukea tälle tietokannalle."
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "Nyt voit muokata <a href=\"!captcha_admin\">CAPTCHA moduulin asetuksia</a> \
                sivustollasi."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Perus CAPTCHA moduuli tarkistusten lisäämiseksi kaikkiin lomakkeisiin."
-
-#: captcha.info:0
-#: image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Roskapostin hallinta"
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr "Sisäänrakennettu fontti"
-
-#: image_captcha/image_captcha.admin.inc:39
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a>)."
-msgstr "Kuva CAPTCHA moduuli ei voi muodostaa kuvia, koska PHP asennus ei tue sitä \
                (ei <a href=\"!gdlib\">GD kirjastoa</a>)."
-
-#: image_captcha/image_captcha.admin.inc:50
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr "Esiratkaistu Kuva CAPTCHA esimerkki, muodostettu nykyisillä asetuksilla."
-
-#: image_captcha/image_captcha.admin.inc:61
-msgid "Code settings"
-msgstr "Koodiasetukset"
-
-#: image_captcha/image_captcha.admin.inc:65
-msgid "Characters to use in the code"
-msgstr "Koodissa käytettävät merkit"
-
-#: image_captcha/image_captcha.admin.inc:70
-msgid "Code length"
-msgstr "Koodin pituus"
-
-#: image_captcha/image_captcha.admin.inc:73
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "Koodin pituus vaikuttaa kuvan kokoon. Huomaa, että suuremmat arvot tekevät \
                kuvien muodostamisesta palvelinta kuormittavampaa."
-
-#: image_captcha/image_captcha.admin.inc:79
-msgid "Font settings"
-msgstr "Fonttiasetukset"
-
-#: image_captcha/image_captcha.admin.inc:85
-msgid "Font"
-msgstr "Fontti"
-
-#: image_captcha/image_captcha.admin.inc:87
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr "TrueType fontti (.ttf) tekstin käyttöön Kuva CAPTCHAssa."
-
-#: image_captcha/image_captcha.admin.inc:96
-msgid "Font size"
-msgstr "Fontin koko"
-
-#: image_captcha/image_captcha.admin.inc:98
-msgid "tiny"
-msgstr "hyvin pieni"
-
-#: image_captcha/image_captcha.admin.inc:99;158
-msgid "small"
-msgstr "pieni"
-
-#: image_captcha/image_captcha.admin.inc:101;125;185
-msgid "normal"
-msgstr "normaali"
-
-#: image_captcha/image_captcha.admin.inc:103
-msgid "large"
-msgstr "suuri"
-
-#: image_captcha/image_captcha.admin.inc:105
-msgid "extra large"
-msgstr "hyvin suuri"
-
-#: image_captcha/image_captcha.admin.inc:108
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Fontin koko vaikuttaa kuvan kokoon. Huomaa, että suuremmat arvot tekevät \
                kuvien muodostamisesta palvelinta kuormittavampaa."
-
-#: image_captcha/image_captcha.admin.inc:120
-msgid "Character spacing"
-msgstr "Merkkien väli"
-
-#: image_captcha/image_captcha.admin.inc:121
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Määrittele keskimääräinen merkkien väli. Huomaa, että suuremmat arvot \
                tekevät kuvien muodostamisesta palvelinta kuormittavampaa."
-
-#: image_captcha/image_captcha.admin.inc:124
-msgid "tight"
-msgstr "kapea"
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "wide"
-msgstr "laaja"
-
-#: image_captcha/image_captcha.admin.inc:127
-msgid "extra wide"
-msgstr "hyvin laaja"
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Color settings"
-msgstr "Väriasetukset"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr "Kuva CAPTCHAN taustan ja tekstin värien asetukset."
-
-#: image_captcha/image_captcha.admin.inc:139
-msgid "Background color"
-msgstr "Taustaväri"
-
-#: image_captcha/image_captcha.admin.inc:140
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90)."
-msgstr "Kirjoita taustavärin heksadesimaalikoodi (esim. #FFF tai #FFCE90)."
-
-#: image_captcha/image_captcha.admin.inc:147
-msgid "Text color"
-msgstr "Tekstin väri"
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Kirjoita tekstin värin heksadesimaalikoodi (e.g. #000 or #004283)."
-
-#: image_captcha/image_captcha.admin.inc:155
-msgid "Additional variation of text color"
-msgstr "Ylimääräinen tekstin värin muuntelu"
-
-#: image_captcha/image_captcha.admin.inc:159;183
-msgid "moderate"
-msgstr "keskinkertainen"
-
-#: image_captcha/image_captcha.admin.inc:160;187;221
-msgid "high"
-msgstr "korkea"
-
-#: image_captcha/image_captcha.admin.inc:161
-msgid "very high"
-msgstr "hyvin korkea"
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "Eri merkeille tulevat satunnaiset värit tietyllä vaihteluvälillä tekstin \
                väristä."
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "Distortion and noise"
-msgstr "Väännös ja kohina"
-
-#: image_captcha/image_captcha.admin.inc:172
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr "Näillä asetuksilla voit hallita sekoituksen määrää väännöksissä ja \
kohinassa. Älä lisää sekoitusta liikaa ja varmista, että kuva pysyy \
ymmärrettävästi luettavana.  Esimerkiksi, älä yhdistä korkeita väännöstasoja \
                ja kohinaa."
-
-#: image_captcha/image_captcha.admin.inc:177
-msgid "Distortion level"
-msgstr "Väännöstaso"
-
-#: image_captcha/image_captcha.admin.inc:181;217
-msgid "low"
-msgstr "alhainen"
-
-#: image_captcha/image_captcha.admin.inc:189;223
-msgid "severe"
-msgstr "rankka"
-
-#: image_captcha/image_captcha.admin.inc:192
-msgid "Set the degree of wave distortion in the image."
-msgstr "Aseta asteluku kuvan aaltoväännölle."
-
-#: image_captcha/image_captcha.admin.inc:196
-msgid "Smooth distortion"
-msgstr "Pehmeä väännös"
-
-#: image_captcha/image_captcha.admin.inc:198
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Tämä valinta ottaa käyttöön bilineaarisen interpoloinnin \
                väännöksiin, joka tekee kuvasta pehmeämmän, mutta rasittaa \
                palvelinta enemmän."
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "Add salt and pepper noise"
-msgstr "Lisää suola & pippuri -kohinaa"
-
-#: image_captcha/image_captcha.admin.inc:205
-msgid "This option adds randomly colored point noise."
-msgstr "Tämä valinta lisää satunnaisesti väritettyä pistekohinaa."
-
-#: image_captcha/image_captcha.admin.inc:209
-msgid "Add line noise"
-msgstr "Lisää linjakohinaa"
-
-#: image_captcha/image_captcha.admin.inc:211
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Tämä valinta piirtää satunnaislinjoja tekstin päälle."
-
-#: image_captcha/image_captcha.admin.inc:215
-msgid "Noise level"
-msgstr "Kohinataso"
-
-#: image_captcha/image_captcha.admin.inc:219
-msgid "medium"
-msgstr "keskikokoinen"
-
-#: image_captcha/image_captcha.admin.inc:240
-msgid "The Image CAPTCHA module can not use True Type fonts because your PHP setup \
                does not support it. There is only a built-in bitmap font available."
-msgstr "Kuva CAPTCHA moduuli ei voi käyttää True Type fontteja, koska PHP asennus \
                ei tue sitä.  Vain sisäänrakennettu bittikarttafontti on \
                saatavana."
-
-#: image_captcha/image_captcha.admin.inc:245
-msgid "The image CAPTCHA module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image CAPTCHA module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr "Kuva CAPTCHA toimii parhaiten TrueType fonteilla kuvien muodostamisessa, \
mutta lisenssiongelmien vuoksi fontteja ei ole sallittua toimittaa yhdessä moduulin \
kanssa.  Sen sijaan oletuksena tarjotaan yksinkertainen bittikarttafontti.  TrueType \
fontteja voi asentaa itse laittamalla ne kuva CAPTCHA moduulin fonttihakemistoon \
(directory \"%fontsdir\") tai lataamalla ne Drupalin tiedostojärjestelmään \
                (hakupolku \"%filesdir\") esimerkiksi latausmoduulilla."
-
-#: image_captcha/image_captcha.admin.inc:248
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr "Sisäänrakennetun bittikarttafontin käyttöä ei suositella, koska koko on \
                pieni eikä siinä ole UTF-8 tukea."
-
-#: image_captcha/image_captcha.admin.inc:259
-msgid "The list of characters to use should not contain spaces."
-msgstr "Käytettävän merkkilistan ei pitäisi sisältää välilyöntejä."
-
-#: image_captcha/image_captcha.admin.inc:264
-msgid "You need to select a font"
-msgstr "Valitse fontti"
-
-#: image_captcha/image_captcha.admin.inc:267
-msgid "Font does not exist or is not readable."
-msgstr "Fonttia ei ole tai se ei ole luettavissa."
-
-#: image_captcha/image_captcha.admin.inc:272
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Taustaväri ei ole kelvollinen heksadesimaali väriarvo."
-
-#: image_captcha/image_captcha.admin.inc:275
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Tekstin väri ei ole kelvollinen heksadesimaali väriarvo."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "CAPTCHAn kuvan luonti epäonnistui. Tarkista Kuva CAPTCHAn asetukset ja \
                erityisesti käytetty fontti."
-
-#: image_captcha/image_captcha.user.inc:72
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr "Ei voitu löytää tai lukea Kuva CAPTCHAlle asetettua fonttia (\"%font\")."
-
-#: image_captcha/image_captcha.module:28
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "Kuva CAPTCHA on suosittu tarkistuskysely, missä satunnainen koodi on \
muutettu epäselvennetyksi kuvaksi. Kuva muodostetaan lennossa erikseen joka \
sivulatauksella, mikä on melko palvelinta rasittavaa. Ole tarkkana koon ja muiden \
                laskentaa vaativien asetusten suhteen."
-
-#: image_captcha/image_captcha.module:166
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Kirjoita kuvassa näkyvät merkit (ilman välilyöntejä).  Huomioi isot ja \
                pienet kirjaimet."
-
-#: image_captcha/image_captcha.module:169
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Kirjoita kuvassa näkyvät merkit (ilman välilyöntejä)."
-
-#: image_captcha/image_captcha.module:179;179;40
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "Kuva CAPTCHA"
-
-#: image_captcha/image_captcha.module:184
-msgid "What code is in the image?"
-msgstr "Mikä koodi on kuvassa?"
-
-#: image_captcha/image_captcha.module:94
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Havaittiin kielletty bitti kun jaettiin utf8 merkkijonoa merkkeihin."
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Tarjoaa kuvapohjaisen CAPTCHAn."
-
-#~ msgid "Challenge type per form"
-#~ msgstr "Tarkistustyyppi per lomake"
-#~ msgid "Challenge type (module)"
-#~ msgstr "Tarkistustyyppi (moduuli)"
-#~ msgid "Invalid CAPTCHA token."
-#~ msgstr "Väärä CAPTCHA merkki."
-#~ msgid "captcha"
-#~ msgstr "captcha"
-#~ msgid ""
-#~ "Images cannot be generated, because your PHP installation's GD library "
-#~ "has no JPEG support."
-#~ msgstr ""
-#~ "Kuvaa ei voi luoda, koska palvelimen PHP asetuksista puuttuu jpeg tuki."
-#~ msgid "Double vision"
-#~ msgstr "Kaksoiskuva"
-#~ msgid ""
-#~ "When enabled, characters appear twice in the image, overlayed onto each "
-#~ "other."
-#~ msgstr "Kun on käytössä, kirjaimet ilmestyvät kahdesti toistensa päälle."
-#~ msgid "Copy the characters (respecting upper/lower case) from the image."
-#~ msgstr "Kopio kirjaimet kuvasta (Huomio isot ja pienet kirjaimet)."
-#~ msgid "image_captcha"
-#~ msgstr "kuva_captcha"
-#~ msgid "Kind of words to use in the phrase"
-#~ msgstr "Lauseessa käytettäviä sanoja"
-#~ msgid "Generate nonsense random words."
-#~ msgstr "Muodosta merkityksettömiä satunnaissanoja."
-#~ msgid "Use user defined words."
-#~ msgstr "Käytä käyttäjän antamia sanoja."
-#~ msgid "User defined words"
-#~ msgstr "Käyttäjän antamat sanat"
-#~ msgid "Enter a bunch of space separated words (at least @min)."
-#~ msgstr "Anna ryhmä sanavälillä eroteltuja sanoja (vähintään @min)."
-#~ msgid "Number of words in the phrase"
-#~ msgstr "Sanojen määrä lauseessa"
-#~ msgid ""
-#~ "You need to enter at least @min words if you want to use user defined "
-#~ "words."
-#~ msgstr ""
-#~ "Sinun on annettava vähintään @min sanaa jos haluat käyttää itse "
-#~ "määriteltyjä sanoja."
-#~ msgid "Number of words in the phrase should be between 4 and 10."
-#~ msgstr "Sanojen määrä lauseessa tulee olla 4 ja 10 välillä."
-#~ msgid "first"
-#~ msgstr "ensimmäinen"
-#~ msgid "second"
-#~ msgstr "toinen"
-#~ msgid "third"
-#~ msgstr "kolmas"
-#~ msgid "fourth"
-#~ msgstr "neljäs"
-#~ msgid "fifth"
-#~ msgstr "viides"
-#~ msgid "sixth"
-#~ msgstr "kuudes"
-#~ msgid "seventh"
-#~ msgstr "seitsemäs"
-#~ msgid "ninth"
-#~ msgstr "yhdeksäs"
-#~ msgid "tenth"
-#~ msgstr "kymmenes"
-#~ msgid ""
-#~ "In this challenge the visitor is asked for the n<sup>th</sup> word of a "
-#~ "given phrase."
-#~ msgstr ""
-#~ "Tässä tarkistuksessa vierailijalta kysytään määrättyä sanaa annetusta "
-#~ "lauseesta."
-#~ msgid "What is the @nth word in the phrase \"@words\"?"
-#~ msgstr "Mikä on @nth sana lauseessa \"@words\"?"
-#~ msgid "Text CAPTCHA"
-#~ msgstr "Teksti CAPTCHA"
-#~ msgid "text_captcha"
-#~ msgstr "teksti_captcha"
-#~ msgid "Provides a simple text based CAPTCHA."
-#~ msgstr "Tarjoaa yksinkertaisen tekstipohjaisen CAPTCHA tunnistuksen."
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fr.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fr.po deleted file \
mode 100644 index e7a9580..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/fr.po
+++ /dev/null
@@ -1,712 +0,0 @@
-# $Id: fr.po,v 1.1.4.3 2010/03/16 20:24:50 soxofaan Exp $
-#
-# FRENCH translation of Drupal (general)
-# Copyright 2010 NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.32 2009/10/27 16:11:17 soxofaan
-#  image_captcha.admin.inc,v 1.30 2009/12/15 23:53:37 soxofaan
-#  captcha.module,v 1.102 2009/12/08 22:25:19 soxofaan
-#  captcha.inc,v 1.11 2009/08/27 22:21:56 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.23 2009/12/15 23:53:37 soxofaan
-#  image_captcha.module,v 1.33 2009/12/15 23:53:37 soxofaan
-#  captcha.install,v 1.11 2009/12/19 00:24:36 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: captcha 6.x-2.x\n"
-"POT-Creation-Date: 2010-01-03 15:35+0100\n"
-"PO-Revision-Date: 2010-03-08 15:17+0100\n"
-"Last-Translator: LD <lucie.dengreville@uhb.fr>\n"
-"Language-Team: French <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-
-
-#: captcha.admin.inc:16
-#: image_captcha/image_captcha.admin.inc:92
-msgid "none"
-msgstr "aucun"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "Type de défi par défaut"
-
-#: captcha.admin.inc:25
-msgid "@type (from module @module)"
-msgstr "@type (du module @module)"
-
-#: captcha.admin.inc:44
-msgid "Form protection"
-msgstr "Protection de formulaire"
-
-#: captcha.admin.inc:45
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr "Choisir le type de défi désiré pour chacun des formulaires mentionnés \
(identifiés par leur <em>form_id</em>). Il est facile d'ajouter un formulaire \
                arbitraire à l'aide de l'option '%CAPTCHA_admin_links'."
-
-#: captcha.admin.inc:46;110
-#: captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Ajouter des liens d'administration CAPTCHA aux formulaires"
-
-#: captcha.admin.inc:51
-msgid "Default challenge type"
-msgstr "Type de défi par défaut"
-
-#: captcha.admin.inc:52
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr "Choisissez le type de défi par défaut. Cela peut ensuite être modifié \
                pour chaque formulaire si vous le souhaitez."
-
-#: captcha.admin.inc:88
-msgid "delete"
-msgstr "supprimer"
-
-#: captcha.admin.inc:112
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr "Cette option permet de configurer les paramètres CAPTCHA sur les \
formulaires. Si activée, les utilisateurs possédant la permission \"%admincaptcha\" \
verront les liens d'administration CAPTCHA sur l'ensemble des formulaires (Ã  \
l'exception des pages d'administrations, qui ne devraient pas être accessibles aux \
utilisateurs non dignes de confiance). Ces liens rendent possible l'activation ou la \
                désactivation d'un certain type de défi."
-
-#: captcha.admin.inc:112
-#: captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "Administrer les paramètres CAPTCHA"
-
-#: captcha.admin.inc:117
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr "Ajouter des CAPTCHAs et des liens d'administration CAPTCHA sur les pages \
                d'administration."
-
-#: captcha.admin.inc:119
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr "Cette option est très utile pour ajouter des CAPTCHAs sur les formulaires \
des pages d'administration. CAPTCHA est désactivé par défaut sur les pages \
d'administration (qui ne devraient pas être accessibles aux utilisateurs non dignes \
de confiance). Dans certaines situations, par exemple dans le cas des sites de \
démonstration, il peut être utile de permettre CAPTCHAs sur les pages \
                d'administration."
-
-#: captcha.admin.inc:125
-msgid "Add a description to the CAPTCHA"
-msgstr "Ajouter une description pour le CAPTCHA"
-
-#: captcha.admin.inc:126
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr "La description du défi sert à expliquer l'utilité de ce dernier à \
                l'utilisateur."
-
-#: captcha.admin.inc:134
-msgid "CAPTCHA description"
-msgstr "Description du défi"
-
-#: captcha.admin.inc:135;151
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr "Description configurable du CAPTCHA. Une entrée vide permet de \
                réinitialiser la description."
-
-#: captcha.admin.inc:141
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Pour la langue %lang_name (code %lang_code)"
-
-#: captcha.admin.inc:150
-msgid "Challenge description"
-msgstr "Description du défi"
-
-#: captcha.admin.inc:161
-msgid "Default CAPTCHA validation"
-msgstr "Validation du CAPTCHA par défaut"
-
-#: captcha.admin.inc:162
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr "Définit la manière dont la réponse devrait être générée par défaut. \
                Notez que les modules actuellement paramétrés peuvent outrepasser \
                ou ignorer cela."
-
-#: captcha.admin.inc:164
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr "Validation sensible à la casse : la réponse doit exactement correspondre à \
                la solution."
-
-#: captcha.admin.inc:165
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr "Validation insensible à la casse : les erreurs de type majuscule/minuscule \
                sont ignorées."
-
-#: captcha.admin.inc:173
-msgid "Persistence"
-msgstr "Persistance"
-
-#: captcha.admin.inc:176
-msgid "Always add a challenge."
-msgstr "Toujours ajouter un défi."
-
-#: captcha.admin.inc:177
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Omettre les défis d'un formulaire lorsqu'un utilisateur a répondu \
                correctement à un défi précédent pour ce même formulaire."
-
-#: captcha.admin.inc:178
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Omettre les défis de tous les formulaires lorsqu'un utilisateur a répondu \
                correctement à un défi."
-
-#: captcha.admin.inc:180
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Définir si les défis devraient être omis pour toute la durée de la \
                session lorsqu'un utilisateur a répondu correctement à un défi."
-
-#: captcha.admin.inc:186
-msgid "Log wrong responses"
-msgstr "Consigner les mauvaises réponses"
-
-#: captcha.admin.inc:187
-msgid "Report information about wrong responses to the !log."
-msgstr "Afficher les informations concernant les mauvaises réponses dans le !log."
-
-#: captcha.admin.inc:187
-msgid "log"
-msgstr "log"
-
-#: captcha.admin.inc:194
-msgid "Save configuration"
-msgstr "Enregistrer la configuration"
-
-#: captcha.admin.inc:204;344
-msgid "Challenge type"
-msgstr "Type de défi"
-
-#: captcha.admin.inc:204
-msgid "Operations"
-msgstr "Opérations"
-
-#: captcha.admin.inc:231;365
-msgid "Illegal form_id"
-msgstr "Form_id non admis"
-
-#: captcha.admin.inc:257
-msgid "Added CAPTCHA point."
-msgstr "Pointage CAPTCHA ajouté."
-
-#: captcha.admin.inc:272
-msgid "Reset of CAPTCHA description for language %language."
-msgstr "Réinitialisation de la description du CAPTCHA pour la langue %language."
-
-#: captcha.admin.inc:283
-msgid "Reset of CAPTCHA description."
-msgstr "Réinitialisation de la description du CAPTCHA."
-
-#: captcha.admin.inc:291
-msgid "The CAPTCHA settings were saved."
-msgstr "Les paramètres CAPTCHA ont été enregistrés."
-
-#: captcha.admin.inc:323;337
-msgid "Form ID"
-msgstr "Identifiant du formulaire"
-
-#: captcha.admin.inc:324;338
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Le form_id Drupal du formulaire auquel ajouter le CAPTCHA."
-
-#: captcha.admin.inc:345
-msgid "The CAPTCHA type to use for this form"
-msgstr "Le type de CAPTCHA Ã  utiliser pour ce formulaire"
-
-#: captcha.admin.inc:354
-msgid "Save"
-msgstr "Sauvegarder"
-
-#: captcha.admin.inc:377
-msgid "Saved CAPTCHA point settings."
-msgstr "Paramètres de pointage CAPTCHA enregistrés."
-
-#: captcha.admin.inc:394
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Êtes-vous sûr de vouloir supprimer le CAPTCHA pour le form_id %form_id ?"
-
-#: captcha.admin.inc:395
-msgid "Delete"
-msgstr "Supprimer"
-
-#: captcha.admin.inc:398
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Êtes-vous sûr de vouloir désactiver le CAPTCHA pour le form_id %form_id \
                ?"
-
-#: captcha.admin.inc:399
-msgid "Disable"
-msgstr "Désactiver"
-
-#: captcha.admin.inc:412
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "Le CAPTCHA du formulaire %form_id a été supprimé."
-
-#: captcha.admin.inc:416
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "Le CAPTCHA du formulaire %form_id a été désactivé."
-
-#: captcha.admin.inc:453
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Cette page donne un aperçu de tous les types de défis disponibles, \
                générés avec leurs paramètres courants."
-
-#: captcha.admin.inc:461
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Défi \"%challenge\" par le module \"%module\""
-
-#: captcha.admin.inc:464
-msgid "10 more examples of this challenge."
-msgstr "10 autres exemples de ce défi."
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr "Impossible de définir un type de CAPTCHA pour le formulaire  %form_id : ne \
                peut pas interpréter la valeur \"@captcha_type\""
-
-#: captcha.inc:146
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Cette question permet de s'assurer que vous êtes un utilisateur humain et \
                non un logiciel automatisé de pollupostage."
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "\"CAPTCHA\" est un acronyme pour \"Completely Automated Public Turing test \
to tell Computers and Humans Apart\" (ou \"test de Turing permettant de différencier \
de manière automatisée un utilisateur humain d'un ordinateur\"). Il s'agit \
typiquement d'un test de type question/réponse qui permet de s'assurer que \
l'utilisateur est bel et bien un être humain. Le module CAPTCHA est un outil visant \
à contrer la soumission automatique de données par des utilisateurs malicieux \
(pollupostage) Ã  travers des formulaires de commentaires, d'enregistrement, de \
livres d'or, etc. Il est donc possible d'ajouter à un formulaire un défi \
additionnel, qui devra idéalement être assez facile pour qu'un être humain puisse \
le résoudre, mais assez difficile pour ne pas laisser passer les scripts \
                automatisés et autres robots de pollupostage."
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr "Il est à noter que le module CAPTCHA intéragit avec la mise en cache des \
pages (voir les <a href=\"!performancesettings\">paramètres de performance</a>). \
Étant donné que le défi doit être unique pour chaque formulaire généré, la \
mise en cache des pages sur lesquelles celui-ci apparaît n'est pas effectuée. \
Assurez-vous que ces formulaires n'apparaissent pas sur une quantité trop grande de \
pages, sinon vous perdrez beaucoup d'efficacité au niveau de la mise en cache. Par \
exemple, si vous placez un CAPTCHA dans le bloc d'authentification des utilisateurs \
qui est généralement généré sur chaque page pour un utilisateur anonyme, la mise \
en cache sera pratiquement désactivée. Le formulaire de soumission de commentaire \
est un autre exemple. Dans ce cas, vous devriez définir \"%commentlocation\" à \
\"%separatepage\" dans les paramètres de commentaires des <a \
href=\"!contenttypes\">types de contenu</a> appropriés pour une meilleure \
efficacité de la mis  e en cache."
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr "Emplacement du formulaire de soumission de commentaire"
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr "Afficher sur une page séparée"
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA est une marque déposée de l'Université Carnegie Mellon."
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr "Un CAPTCHA peut être ajouté à pratiquement n'importe quel formulaire \
Drupal. La liste des formulaires par défaut ci-dessous vous en fournit quelques-uns, \
mais des formulaires arbitraires peuvent être ajoutés et gérés aisément lorsque \
                l'option \"%adminlinks\" est activée."
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr "Les utilisateurs possédant la <a href=\"@perm\">permission</a> \
\"%skipcaptcha\" ne se verront pas offrir de défi. N'accordez cette permission \
qu'aux utilisateurs dignes de confiance (ex.: les administrateurs du site). Si vous \
désirez tester un formulaire protégé par un défi, assurez-vous de le faire à \
l'aide d'un utilisateur ne possédant pas la permission \"%skipcaptcha\" (ex.: \
                l'utilisateur anonyme)."
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr "Ignorer le CAPTCHA"
-
-#: (duplicate) captcha.module:269;322;119
-#: ;222;446;475;60;71 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29
-#: image_captcha/image_captcha.module:129
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA:  défi \"@type\" activé"
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Les utilisateurs non dignes de confiance verront un CAPTCHA ici \
                (!settings)."
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr "paramètres CAPTCHA généraux"
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr "Défi activé"
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "\"@type\" par le module \"@module\" (!change, !disable)"
-
-#: captcha.module:337
-msgid "change"
-msgstr "modifier"
-
-#: captcha.module:338
-msgid "disable"
-msgstr "désactiver"
-
-#: captcha.module:352
-#: image_captcha/image_captcha.admin.inc:36
-msgid "Example"
-msgstr "Exemple"
-
-#: captcha.module:353
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr "Ceci est un exemple résolu et non bloquant de ce défi."
-
-#: captcha.module:362
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: pas de défi disponible"
-
-#: captcha.module:364
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Ajouter ici un CAPTCHA pour les utilisateurs non dignes de confiance."
-
-#: captcha.module:445
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID. Contact the site \
                administrator if this problem persists."
-msgstr "Erreur de validation CAPTCHA : ID de session CAPTCHA inconnu. Contactez \
                l'administrateur du site si le problème persiste."
-
-#: captcha.module:470
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "La réponse saisie pour le CAPTCHA est incorrecte."
-
-#: captcha.module:557
-msgid "Math question"
-msgstr "Question mathématique"
-
-#: captcha.module:558
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Résolvez cette équation mathématique simple et entrez le résultat. Ex.: \
                pour 1+3, entrez 4."
-
-#: captcha.module:559
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-#: captcha.module:578
-msgid "Test one two three"
-msgstr "Test un deux trois"
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr "Problème CAPTCHA : hook_captcha() du module %module n'a rien retourné lors \
                de la récupération du type de défi %type pour le formulaire \
                %form_id."
-
-#: captcha.module:446
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID (%csid)."
-msgstr "Erreur de la validation CAPTCHA : ID (%csid) de session CAPTCHA inconnu."
-
-#: captcha.module:475
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr "Génération du formulaire %form_id bloquée par le module CAPTCHA:  défi \
\"%challenge\" (par le module \"%module\"), l'utilisateur a répondu \"%response\", \
                mais la solution était \"%solution\"."
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "1 tentative de soumission de formulaire déjà bloquée"
-msgstr[1] "@counter tentatives de soumission de formulaire déjà bloquées"
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Administrer où et comment les CAPTCHAs sont utilisés."
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Configuration générale"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Exemples"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr "Un aperçu des types de défis disponibles, suivis d'exemples."
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr "Administration du pointage CAPTCHA"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Base de données non supportée."
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "Vous pouvez maintenant <a href=\"!captcha_admin\">configurer le module \
                CAPTCHA</a> pour votre site."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Module CAPTCHA de base pour ajouter des défis à des formulaires \
                arbitraires."
-
-#: captcha.info:0
-#: image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Contrôle du pollupostage"
-
-#: image_captcha/image_captcha.admin.inc:26
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a> with JPEG \
                support)."
-msgstr "Les images ne peuvent être générées par le module CAPTCHA visuel, car \
votre installation PHP ne le supporte pas (pas de <a href=\"!gdlib\">librairie GD</a> \
                avec support JPEG."
-
-#: image_captcha/image_captcha.admin.inc:37
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr "Exemple de visuel CAPTCHA pré-résolu, généré avec les paramètres \
                actuels."
-
-#: image_captcha/image_captcha.admin.inc:48
-msgid "Code settings"
-msgstr "Paramètres de code"
-
-#: image_captcha/image_captcha.admin.inc:52
-msgid "Characters to use in the code"
-msgstr "Caractères à utiliser dans ce code"
-
-#: image_captcha/image_captcha.admin.inc:57
-msgid "Code length"
-msgstr "Longueur du code"
-
-#: image_captcha/image_captcha.admin.inc:60
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "La longueur du code influence la taille de l'image. Il est à noter que des \
valeurs élevées peuvent rendre la génération de l'image plus lourde en terme de \
                puissance de calcul."
-
-#: image_captcha/image_captcha.admin.inc:69
-msgid "Color and image settings"
-msgstr "Paramètres de couleur et d'image"
-
-#: image_captcha/image_captcha.admin.inc:70
-msgid "Configuration of the background, text colors and file format of the image \
                CAPTCHA."
-msgstr "Configuration du format de fichier, des couleurs de l'arrière-plan et du \
                texte dans le CAPTCHA visuel."
-
-#: image_captcha/image_captcha.admin.inc:74
-msgid "Background color"
-msgstr "Couleur de fond"
-
-#: image_captcha/image_captcha.admin.inc:75
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90). \
When using the PNG file format with transparent background, it is recommended to set \
                this close to the underlying background color."
-msgstr "Entrez un code hexadécimal pour la couleur de fond (ex. #FFF ou #FFCE90). \
Si vous utilisez le format de fichier PNG avec un fond transparent, il est \
recommandé de fixer cette couleur à une valeur proche de la couleur de fond \
                sous-jacente. "
-
-#: image_captcha/image_captcha.admin.inc:82
-msgid "Text color"
-msgstr "Couleur du texte"
-
-#: image_captcha/image_captcha.admin.inc:83
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Entrer le code hexadécimal pour la couleur du texte (ex.: #000 ou \
                #004283)."
-
-#: image_captcha/image_captcha.admin.inc:90
-msgid "Additional variation of text color"
-msgstr "Variation additionnelle de la couleur du texte"
-
-#: image_captcha/image_captcha.admin.inc:93;270
-msgid "small"
-msgstr "petite"
-
-#: image_captcha/image_captcha.admin.inc:94
-msgid "moderate"
-msgstr "modéré"
-
-#: image_captcha/image_captcha.admin.inc:95;166
-msgid "high"
-msgstr "élevé"
-
-#: image_captcha/image_captcha.admin.inc:96
-msgid "very high"
-msgstr "très élevé"
-
-#: image_captcha/image_captcha.admin.inc:99
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "Les différents caractères prendront des couleurs aléatoires autour de la \
                couleur de texte, en fonction de la gamme de variation spécifiée. "
-
-#: image_captcha/image_captcha.admin.inc:103
-msgid "File format"
-msgstr "Format de fichier"
-
-#: image_captcha/image_captcha.admin.inc:104
-msgid "Select the file format for the image. JPEG usually results in smaller files, \
                PNG allows tranparency."
-msgstr "Sélectionnez le format de fichier pour l'image. JPEG produit en général \
                des fichiers plus petits, PNG permet la transparence."
-
-#: image_captcha/image_captcha.admin.inc:107
-msgid "JPEG"
-msgstr "JPEG"
-
-#: image_captcha/image_captcha.admin.inc:108
-msgid "PNG"
-msgstr "PNG"
-
-#: image_captcha/image_captcha.admin.inc:109
-msgid "PNG with transparent background"
-msgstr "PNG avec fond transparent"
-
-#: image_captcha/image_captcha.admin.inc:116
-msgid "Distortion and noise"
-msgstr "Distorsion et interférence"
-
-#: image_captcha/image_captcha.admin.inc:117
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr "À l'aide de ces paramètres, il est possible de contrôler le degré de \
masquage par la distorsion et l'interférence. Ne pas exagérer la masquage et \
s'assurer que le code de l'image demeure raisonnablement lisible. Par exemple, ne pas \
                combiner un degré élevé de distorsion et d'interférences."
-
-#: image_captcha/image_captcha.admin.inc:122
-msgid "Distortion level"
-msgstr "Degré de distorsion"
-
-#: image_captcha/image_captcha.admin.inc:124
-msgid "@level - no distortion"
-msgstr "@level - sans distorsion"
-
-#: image_captcha/image_captcha.admin.inc:125
-msgid "@level - low"
-msgstr "@level - bas"
-
-#: image_captcha/image_captcha.admin.inc:129
-msgid "@level - medium"
-msgstr "@level - modéré"
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "@level - high"
-msgstr "@level - élévé"
-
-#: image_captcha/image_captcha.admin.inc:137
-msgid "Set the degree of wave distortion in the image."
-msgstr "Définir le degré de distorsion ondulatoire de l'image."
-
-#: image_captcha/image_captcha.admin.inc:141
-msgid "Smooth distortion"
-msgstr "Distorsion lisse"
-
-#: image_captcha/image_captcha.admin.inc:143
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Cette option active l'interpolation bilinéaire de la distorsion. Cela rend \
                l'image plus lisse, mais est plus lourd en terme de puissance de \
                calcul."
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Add salt and pepper noise"
-msgstr "Ajouter de l'interférence sel et poivre"
-
-#: image_captcha/image_captcha.admin.inc:150
-msgid "This option adds randomly colored point noise."
-msgstr "Cette option ajoute de l'interférence sous forme de points colorés \
                aléatoirement."
-
-#: image_captcha/image_captcha.admin.inc:154
-msgid "Add line noise"
-msgstr "Ajouter de l'interférence linéaire"
-
-#: image_captcha/image_captcha.admin.inc:156
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Cette option ajoute des lignes dessinées aléatoirement sur le texte du \
                code."
-
-#: image_captcha/image_captcha.admin.inc:160
-msgid "Noise level"
-msgstr "Degré d'interférence"
-
-#: image_captcha/image_captcha.admin.inc:162
-msgid "low"
-msgstr "bas"
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "medium"
-msgstr "modéré"
-
-#: image_captcha/image_captcha.admin.inc:168
-msgid "severe"
-msgstr "sévère"
-
-#: image_captcha/image_captcha.admin.inc:198
-msgid "Font settings"
-msgstr "Paramètres de police"
-
-#: image_captcha/image_captcha.admin.inc:207
-msgid "No TrueType support"
-msgstr "Pas de support pour la police TrueType"
-
-#: image_captcha/image_captcha.admin.inc:208
-msgid "The Image CAPTCHA module can not use TrueType fonts because your PHP setup \
                does not support it. You can only use a PHP built-in bitmap font of \
                fixed size."
-msgstr "Le module CAPTCHA visuel ne peut utiliser les polices de caractères \
TrueType parce que votre configuration PHP ne le supporte pas. Vous pouvez seulement \
                utiliser la police bitmap incorporée, de taille fixée."
-
-#: image_captcha/image_captcha.admin.inc:226
-msgid "Font preview of @font (@file)"
-msgstr "Prévisualisation pour le police @font (@file)."
-
-#: image_captcha/image_captcha.admin.inc:241
-msgid "Preview of built-in font"
-msgstr "Prévisualisation de la police incorporée"
-
-#: image_captcha/image_captcha.admin.inc:242
-msgid "PHP built-in font: !font_preview"
-msgstr "Police intégrée à PHP : !font_preview"
-
-#: image_captcha/image_captcha.admin.inc:249
-msgid "Fonts"
-msgstr "Polices"
-
-#: image_captcha/image_captcha.admin.inc:251
-msgid "Select the fonts to use for the text in the image CAPTCHA. Apart from the \
provided defaults, you can also use your own TrueType fonts (filename extension .ttf) \
by putting them in %fonts_library_general or %fonts_library_specific. You can also \
upload them to the \"files\" directory of your site (%filesdir), e.g. with the \
                \"Upload\" module, but those fonts will not get a preview for \
                security reasons."
-msgstr "Sélectionnez les polices à utiliser pour le texte dans le visuel CAPTCHA. \
Outre les paramètres fournis par défaut, vous pouvez aussi utiliser vos propres \
polices TrueType (extension. ttf) en les mettant dans %fonts_library_general ou \
%fonts_library_specific. Vous pouvez également les télécharger vers le répertoire \
\"files\" de votre site (%filesdir), par exemple avec le module \"Upload \" , mais \
ces polices ne permettront pas d'obtenir une prévisualisation, pour des raisons de \
                sécurité."
-
-#: image_captcha/image_captcha.admin.inc:267
-msgid "Font size"
-msgstr "Taille de la police"
-
-#: image_captcha/image_captcha.admin.inc:269
-msgid "tiny"
-msgstr "minuscule"
-
-#: image_captcha/image_captcha.admin.inc:272;292
-msgid "normal"
-msgstr "normal"
-
-#: image_captcha/image_captcha.admin.inc:274
-msgid "large"
-msgstr "grande"
-
-#: image_captcha/image_captcha.admin.inc:276
-msgid "extra large"
-msgstr "très grande"
-
-#: image_captcha/image_captcha.admin.inc:279
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "La taille de la police influence la taille de l'image. Il est à noter que \
des valeurs élevées peuvent rendre la génération de l'image plus lourde en terme \
                de puissance de calcul."
-
-#: image_captcha/image_captcha.admin.inc:287
-msgid "Character spacing"
-msgstr "Espacement des caractères"
-
-#: image_captcha/image_captcha.admin.inc:288
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "définir l'espacement moyen entre les caractères. Il est à noter que des \
valeurs élevées peuvent rendre la génération de l'image plus lourde en terme de \
                puissance de calcul."
-
-#: image_captcha/image_captcha.admin.inc:291
-msgid "tight"
-msgstr "condensé"
-
-#: image_captcha/image_captcha.admin.inc:293
-msgid "wide"
-msgstr "étendu"
-
-#: image_captcha/image_captcha.admin.inc:294
-msgid "extra wide"
-msgstr "très étendu"
-
-#: image_captcha/image_captcha.admin.inc:356
-msgid "The list of characters to use should not contain spaces."
-msgstr "La liste des caractères à utiliser ne doit pas contenir d'espaces."
-
-#: image_captcha/image_captcha.admin.inc:364
-msgid "You need to select at least one font."
-msgstr "Vous devez spécifier au moins une police."
-
-#: image_captcha/image_captcha.admin.inc:369
-msgid "The built-in font only supports Latin2 characters. Only use \"a\" to \"z\" \
                and numbers."
-msgstr "La police incorporée supporte uniquement les caractères Latin2. Utilisez \
                seulement les caractères de \"a\" à  \"z\"  et les nombres."
-
-#: image_captcha/image_captcha.admin.inc:374
-msgid "The following fonts are not readable: %fonts."
-msgstr "Les polices suivantes ne sont pas lisibles :  %fonts."
-
-#: image_captcha/image_captcha.admin.inc:380
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "La couleur d'arrière-plan n'est pas une valeur hexadécimale valide."
-
-#: image_captcha/image_captcha.admin.inc:383
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "La couleur du texte n'est pas une valeur hexadécimale valide."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "La génération du CAPTCHA visuel a échoué. Vérifiez les paramètres du \
                CAPTCHA visuel et plus particulièrement la police utilisée."
-
-#: image_captcha/image_captcha.module:30
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "Le CAPTCHA visuel est un défi populaire où un code textuel aléatoire est \
masqué dans une image. L'image en question est générée à la volée à chaque \
requête, ce qui rend le processus assez lourd en terme de puissance de calcul. Soyez \
prudent lors de la configuration des paramètres liés à la taille et au rendu de \
                l'image."
-
-#: image_captcha/image_captcha.module:212;212;42
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "CAPTCHA visuel"
-
-#: image_captcha/image_captcha.module:217
-msgid "What code is in the image?"
-msgstr "Quel est le code dans l'image?"
-
-#: image_captcha/image_captcha.module:218
-msgid "Enter the characters shown in the image."
-msgstr "Entrez les caractères (sans espace) affichés dans l'image."
-
-#: image_captcha/image_captcha.module:129
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Rencontre d'un octet non admis lors du découpage d'une chaîne utf8 en \
                caractères."
-
-#: image_captcha/image_captcha.module:51
-msgid "Font example"
-msgstr "Exemple de police"
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Fournit un CAPTCHA visuel."
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/he.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/he.po deleted file \
mode 100644 index 439f690..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/he.po
+++ /dev/null
@@ -1,611 +0,0 @@
-# $Id: he.po,v 1.3 2009/07/11 17:30:38 soxofaan Exp $
-#
-# Hebrew translation of Drupal (general)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.5.2.6 2008/03/29 17:20:25 soxofaan
-#  image_captcha.admin.inc,v 1.3.2.1 2008/04/06 15:27:27 soxofaan
-#  captcha.module,v 1.58.2.6 2008/04/07 22:25:45 soxofaan
-#  captcha.info,v 1.5 2007/10/27 18:24:50 robloach
-#  image_captcha.user.inc,v 1.3.2.1 2008/04/06 15:27:27 soxofaan
-#  image_captcha.module,v 1.8.2.2 2008/04/07 22:25:45 soxofaan
-#  captcha.install,v 1.3.2.2 2008/03/20 10:27:53 soxofaan
-#  image_captcha.info,v 1.3 2007/12/11 12:05:32 soxofaan
-#  text_captcha.info,v 1.3 2008/01/04 14:29:58 soxofaan
-#  text_captcha.admin.inc,v 1.1 2008/01/04 14:29:58 soxofaan
-#  text_captcha.user.inc,v 1.1 2008/01/04 14:29:58 soxofaan
-#  text_captcha.module,v 1.3.2.2 2008/04/07 22:25:46 soxofaan
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2009-04-27 23:28+0200\n"
-"PO-Revision-Date: 2009-05-26 17:58+0200\n"
-"Last-Translator: Shahar Or <shahar@shahar-or.co.il>\n"
-"Language-Team: Hebrew <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-#: captcha.admin.inc:13 image_captcha/image_captcha.admin.inc:144;166
-msgid "none"
-msgstr "לל×"
-
-#: captcha.admin.inc:34
-msgid "Form protection"
-msgstr ""
-
-#: captcha.admin.inc:35
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr ""
-
-#: captcha.admin.inc:36;83 captcha.module:45
-msgid "Add CAPTCHA administration links to forms"
-msgstr ""
-
-#: captcha.admin.inc:61
-msgid "delete"
-msgstr "מחק"
-
-#: captcha.admin.inc:85
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:85 captcha.module:106
-msgid "administer CAPTCHA settings"
-msgstr ""
-
-#: captcha.admin.inc:90
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr ""
-
-#: captcha.admin.inc:92
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:100;115
-msgid "Challenge description"
-msgstr ""
-
-#: captcha.admin.inc:101;116
-msgid "With this description you can explain the purpose of the challenge to the \
                user."
-msgstr ""
-
-#: captcha.admin.inc:106
-msgid "For language %lang_name (code %lang_code)"
-msgstr ""
-
-#: captcha.admin.inc:125
-msgid "Persistence"
-msgstr ""
-
-#: captcha.admin.inc:128
-msgid "Always add a challenge."
-msgstr ""
-
-#: captcha.admin.inc:129
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr ""
-
-#: captcha.admin.inc:130
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr ""
-
-#: captcha.admin.inc:132
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr ""
-
-#: captcha.admin.inc:138
-msgid "Log wrong responses"
-msgstr ""
-
-#: captcha.admin.inc:139
-msgid "Report information about wrong responses to the !log."
-msgstr ""
-
-#: captcha.admin.inc:139
-msgid "log"
-msgstr ""
-
-#: captcha.admin.inc:146
-msgid "Save configuration"
-msgstr ""
-
-#: captcha.admin.inc:156
-msgid "Challenge type (module)"
-msgstr ""
-
-#: captcha.admin.inc:156
-msgid "Operations"
-msgstr "פעולות ×פשריות"
-
-#: captcha.admin.inc:183;295
-msgid "Illegal form_id"
-msgstr ""
-
-#: captcha.admin.inc:205
-msgid "Added CAPTCHA point."
-msgstr ""
-
-#: captcha.admin.inc:223
-msgid "The CAPTCHA settings were saved."
-msgstr ""
-
-#: captcha.admin.inc:253;267
-msgid "Form ID"
-msgstr ""
-
-#: captcha.admin.inc:254;268
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr ""
-
-#: captcha.admin.inc:274
-msgid "Challenge type"
-msgstr ""
-
-#: captcha.admin.inc:275
-msgid "The CAPTCHA type to use for this form"
-msgstr ""
-
-#: captcha.admin.inc:284
-msgid "Save"
-msgstr ""
-
-#: captcha.admin.inc:307
-msgid "Saved CAPTCHA point settings."
-msgstr ""
-
-#: captcha.admin.inc:324
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:325
-msgid "Delete"
-msgstr "מחק"
-
-#: captcha.admin.inc:328
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:329
-msgid "Disable"
-msgstr ""
-
-#: captcha.admin.inc:342
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:346
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:384
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr ""
-
-#: captcha.admin.inc:392
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr ""
-
-#: captcha.admin.inc:395
-msgid "10 more examples of this challenge."
-msgstr ""
-
-#: captcha.inc:55
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "×תגר ×–×” × ×•×¢×“ ×œ×•×•×“× ×©×”×™× ×š ×× ×•×©×™ כדי ×œ×ž× ×•×¢ \
                \"ספ××\"."
-
-#: captcha.module:30
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr ""
-
-#: captcha.module:31
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr ""
-
-#: captcha.module:34
-msgid "Location of comment submission form"
-msgstr "×ž×™×§×•× ×˜×•×¤×¡ כתיבת התגובה"
-
-#: captcha.module:35
-msgid "Display on separate page"
-msgstr "הצג בעמוד × ×¤×¨×“"
-
-#: captcha.module:39
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr ""
-
-#: captcha.module:44
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr ""
-
-#: captcha.module:46
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-
-#: captcha.module:47;106
-msgid "skip CAPTCHA"
-msgstr ""
-
-#: (duplicate) captcha.module:263;342;118 ;211;440;59;70 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29;72
-#: image_captcha/image_captcha.module:97
-msgid "CAPTCHA"
-msgstr ""
-
-#: captcha.module:347
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr ""
-
-#: captcha.module:348
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr ""
-
-#: captcha.module:349
-msgid "general CAPTCHA settings"
-msgstr ""
-
-#: captcha.module:353
-msgid "Enabled challenge"
-msgstr ""
-
-#: captcha.module:354
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr ""
-
-#: captcha.module:357
-msgid "change"
-msgstr ""
-
-#: captcha.module:358
-msgid "disable"
-msgstr ""
-
-#: captcha.module:363
-msgid "Example"
-msgstr ""
-
-#: captcha.module:364
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr ""
-
-#: captcha.module:373
-msgid "CAPTCHA: no challenge enabled"
-msgstr ""
-
-#: captcha.module:375
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr ""
-
-#: captcha.module:421
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr ""
-
-#: captcha.module:435
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "התשובה שסיפקת ל×תגר ××™× ×” × ×›×•× ×”."
-
-#: captcha.module:523
-#, fuzzy
-msgid "Math question"
-msgstr "ש×לת מתמטיקה"
-
-#: captcha.module:524
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "פתור ×ת הבעיה המתמטית הפשוטה הזו. לדוגמה, \
                עבור 1+3, הקש 4."
-
-#: captcha.module:525
-msgid "@x + @y = "
-msgstr ""
-
-#: captcha.module:211
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-
-#: captcha.module:440
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr ""
-
-#: captcha.module:119
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] ""
-msgstr[1] ""
-
-#: captcha.module:60
-msgid "Administer how and where CAPTCHAs are used."
-msgstr ""
-
-#: captcha.module:76
-msgid "General settings"
-msgstr ""
-
-#: captcha.module:82
-msgid "Examples"
-msgstr ""
-
-#: captcha.module:83
-msgid "An overview of the available challenge types with examples."
-msgstr ""
-
-#: captcha.module:92
-msgid "CAPTCHA point administration"
-msgstr ""
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr ""
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr ""
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr ""
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:35
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a>)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:46
-msgid "Code settings"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:50
-msgid "Characters to use in the code"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:55
-msgid "Code length"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:58
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:63
-msgid "Case insensitive validation"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:64
-msgid "Enable this option to ignore uppercase/lowercase errors in the response. This \
                can be usefull for certain target audiences or fonts."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:71
-msgid "Font settings"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:77
-msgid "Font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:79
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:88
-msgid "Font size"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:90
-msgid "tiny"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:91;112;145
-msgid "small"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:92;113;169
-msgid "normal"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:93;114
-msgid "large"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:96
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:108
-msgid "Character spacing"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:109
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:121
-msgid "Color settings"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:122
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "Background color"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:127
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Text color"
-msgstr "צבע הטקסט"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:142
-msgid "Additional variation of text color"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:146;168
-msgid "moderate"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:147;170
-msgid "high"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "very high"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:151
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:158
-msgid "Distortion and noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:159
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "Distortion level"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:167
-msgid "low"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "severe"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:174
-msgid "Set the degree of wave distortion in the image."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:178
-msgid "Smooth distortion"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:180
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:185
-msgid "Add salt and pepper noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:187
-msgid "This option adds randomly colored point noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:191
-msgid "Add line noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:193
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:197
-msgid "Noise level"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:199
-msgid "1 - low"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:201
-msgid "3 - medium"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "5 - high"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:205
-msgid "10 - severe"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:222
-msgid "The Image CAPTCHA module can not use True Type fonts because your PHP setup \
                does not support it. There is only a built-in bitmap font available."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:227
-msgid "The image CAPTCHA module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image CAPTCHA module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:230
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:241
-msgid "The list of characters to use should not contain spaces."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:246
-msgid "You need to select a font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:249
-msgid "Font does not exist or is not readable."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:254
-msgid "Background color is not a valid hexadecimal color value."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:257
-msgid "Text color is not a valid hexadecimal color value."
-msgstr ""
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr ""
-
-#: image_captcha/image_captcha.user.inc:72
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.module:24
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr ""
-
-#: image_captcha/image_captcha.module:30
-msgid "Example image, generated with the current settings:"
-msgstr ""
-
-#: image_captcha/image_captcha.module:170
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr ""
-
-#: image_captcha/image_captcha.module:173
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr ""
-
-#: image_captcha/image_captcha.module:183;183;43
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr ""
-
-#: image_captcha/image_captcha.module:188
-msgid "What code is in the image?"
-msgstr "××™×–×” קוד ×‘×ª×ž×•× ×”?"
-
-#: image_captcha/image_captcha.module:97
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr ""
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr ""
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/hu.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/hu.po deleted file \
mode 100644 index d62900a..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/hu.po
+++ /dev/null
@@ -1,635 +0,0 @@
-# Hungarian translation of CAPTCHA (6.x-2.1)
-# Copyright (c) 2010 by the Hungarian translation team
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: CAPTCHA (6.x-2.1)\n"
-"POT-Creation-Date: 2010-01-08 20:46+0000\n"
-"PO-Revision-Date: 2010-01-08 20:45+0000\n"
-"Language-Team: Hungarian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-msgid "Save configuration"
-msgstr "Beállítások mentése"
-msgid "delete"
-msgstr "törlés"
-msgid "Delete"
-msgstr "Törlés"
-msgid "Operations"
-msgstr "Műveletek"
-msgid "Disable"
-msgstr "Letilt"
-msgid "none"
-msgstr "nincs"
-msgid "General settings"
-msgstr "Ãltalános beállítások"
-msgid "Save"
-msgstr "Mentés"
-msgid "Form ID"
-msgstr "Űrlap azonosító"
-msgid "Example"
-msgstr "Példa"
-msgid "Background color"
-msgstr "Háttérszín"
-msgid "Text color"
-msgstr "Szövegszín"
-msgid "Unsupported database."
-msgstr "Nem támogatott adatbázis."
-msgid "normal"
-msgstr "normál"
-msgid "Code length"
-msgstr "Kód hossza"
-msgid "Font size"
-msgstr "Betűméret"
-msgid "Spam control"
-msgstr "Reklámszemét felügyelet"
-msgid "Characters to use in the code"
-msgstr "A kódban használt karakterek"
-msgid "The list of characters to use should not contain spaces."
-msgstr "A használt karakterek felsorolása nem tartalmazhat szóközt."
-msgid "Math question"
-msgstr "Matematikai kérdés"
-msgid ""
-"Encountered an illegal byte while splitting an utf8 string in "
-"characters."
-msgstr ""
-"Az UTF-8 karaktersorozat átalakítása közben egy érvénytelen "
-"bájt fordult elő."
-msgid "For language %lang_name (code %lang_code)"
-msgstr "%lang_name nyelven (kód %lang_code)"
-msgid "change"
-msgstr "változtat"
-msgid "disable"
-msgstr "letiltás"
-msgid "low"
-msgstr "alacsony"
-msgid "medium"
-msgstr "közepes"
-msgid "high"
-msgstr "magas"
-msgid "Display on separate page"
-msgstr "Megjelenítés külön oldalon"
-msgid "Add CAPTCHA administration links to forms"
-msgstr "CAPTCHA adminisztrációs hivatkozás hozzáadása az űrlapokhoz"
-msgid "administer CAPTCHA settings"
-msgstr "CAPTCHA beállítások adminisztrációja"
-msgid "Challenge description"
-msgstr "Feladat leírása"
-msgid "Persistence"
-msgstr "Szívósság"
-msgid "Always add a challenge."
-msgstr "Mindig adja hozzá a feladatot."
-msgid ""
-"Omit challenges for a form once the user has successfully responded to "
-"a challenge for that form."
-msgstr ""
-"Mellőzi a feladatot az adott űrlap mellől, ha a felhasználó "
-"egyszer már jól válaszolt."
-msgid ""
-"Omit challenges for all forms once the user has successfully responded "
-"to a challenge."
-msgstr ""
-"Mellőzi a feladatot minden űrlap mellől, ha a felhasználó egyszer "
-"már jól válaszolt."
-msgid ""
-"Define if challenges should be omitted during the rest of a session "
-"once the user successfully responses to a challenge."
-msgstr ""
-"Megadható, hogy amennyiben a felhasználó sikeresen megoldott egy "
-"feladatot, látogatásának további szakaszában már ne kapjon "
-"többet."
-msgid "Log wrong responses"
-msgstr "Hibás válaszok naplózása"
-msgid "Report information about wrong responses to the !log."
-msgstr ""
-"Kerüljön információ a rossz válaszokról a rendszernaplóba. "
-"(!log)"
-msgid "log"
-msgstr "napló"
-msgid "The CAPTCHA settings were saved."
-msgstr "A CAPTCHA beállítások elmentve."
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr ""
-"A Drupal űrlap azonosítója, amihez a CAPTCHA feladatot hozzá kell "
-"adni."
-msgid "Challenge type"
-msgstr "Feladat típusa"
-msgid "The CAPTCHA type to use for this form"
-msgstr "Az űrlaphoz használt CAPTCHA típusa"
-msgid "Illegal form_id"
-msgstr "Érvénytelen form_id"
-msgid "Saved CAPTCHA point settings."
-msgstr "Mentett CAPTCHA pont beállítások."
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "„%form_id" <em>CAPTCHA</em> védelme biztosan törölhető?"
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "„%form_id" <em>CAPTCHA</em> védelme biztosan letiltható?"
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "%form_id űrlapról a CAPTCHA eltávolítva."
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "%form_id űrlapról a CAPTCHA letiltva."
-msgid ""
-"This page gives an overview of all available challenge types, "
-"generated with their current settings."
-msgstr ""
-"Ez a lap egy átfogó képet ad a rendelkezésre álló feladat "
-"típusokról, azok aktuális beállításaival létrehozva."
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "„%module" számára „%challenge" feladat"
-msgid "10 more examples of this challenge."
-msgstr "10 további példa ebből a feladatból."
-msgid ""
-"\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing "
-"test to tell Computers and Humans Apart\". It is typically a "
-"challenge-response test to determine whether the user is human. The "
-"CAPTCHA module is a tool to fight automated submission by malicious "
-"users (spamming) of for example comments forms, user registration "
-"forms, guestbook forms, etc. You can extend the desired forms with an "
-"additional challenge, which should be easy for a human to solve "
-"correctly, but hard enough to keep automated scripts and spam bots "
-"out."
-msgstr ""
-"A CAPTCHA a „Completely Automated Public Turing test to tell "
-"Computers and Humans Apart" rövídítése. Ez tipikusan egy "
-"feladat-válasz teszt, mely megállapítja, hogy felhasználó valós "
-"ember-e. A <em>CAPTCHA</em> modul egy eszköz a rosszindulatú "
-"felhasználók automatikus beküldései elleni harcban, a "
-"hozzászólás, a felhasználói regisztráció, vagy a vendégkönyv "
-"űrlapokon. A szükséges űrlapokat ki lehet egészíteni egy "
-"egyszerű feladattal, melyet az emberek könnyedén meg tudnak oldani, "
-"de elég nehéz feladat elé állítják az automatikus programokat "
-"és a szemétküldő robotokat."
-msgid ""
-"Note that the CAPTCHA module interacts with page caching (see <a "
-"href=\"!performancesettings\">performance settings</a>). Because the "
-"challenge should be unique for each generated form, the caching of the "
-"page it appears on is prevented. Make sure that these forms do not "
-"appear on too many pages or you will lose much caching efficiency. For "
-"example, if you put a CAPTCHA on the user login block, which typically "
-"appears on each page for anonymous visitors, caching will practically "
-"be disabled. The comment submission forms are another example. In this "
-"case you should set the \"%commentlocation\" to \"%separatepage\" in "
-"the comment settings of the relevant <a href=\"!contenttypes\">content "
-"types</a> for better caching efficiency."
-msgstr ""
-"Megjegyzés: A <em>CAPTCHA</em> modul együttműködik a lap "
-"gyorstárazással (lásd a <a "
-"href=\"!performancesettings\">teljesítmény beállításoknál</a>). "
-"Mivel a feladatnak egyedinek kell lennie minden űrlap esetén, ez a "
-"lap gyorstárazását meggátolja. Meg kell győződni arról, hogy "
-"ezek az űrlapok ne jelenjenek meg túl sok oldalon, mert az jelentős "
-"teljesítmény romláshoz vezet. Például, ha a felhasználói "
-"bejelentkezés blokkon - mely tipikusan minden oldalon megjelenik a "
-"vendég felhasználóknak - CAPTCHA védelem van, a lapok "
-"gyorstárazása átmenetileg le lesz tiltva. A hozzászólás "
-"beküldő űrlap a másik példa. Ebben az esetben célszerű a "
-"„%commentlocation" helyét „%separatepage" lehetőségre "
-"állítani a <a href=\"!contenttypes\">tartalomtípusok</a> oldalán a "
-"jobb gyorstárazás érdekében."
-msgid "Location of comment submission form"
-msgstr "Hozzászólás-beküldő űrlap helyzete"
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "A CAPTCHA a Carnegie Mellon University védjegye."
-msgid ""
-"A CAPTCHA can be added to virtually each Drupal form. Some default "
-"forms are already provided in the form list, but arbitrary forms can "
-"be easily added and managed when the option \"%adminlinks\" is "
-"enabled."
-msgstr ""
-"Minden Drupal űrlapohoz hozzá lehet adni a feladatokat. Néhány "
-"alapértelmezett űrlap már fel van kínálva az űrlaplistán, de "
-"bármelyik űrlapot könnyen hozzá lehet adni, ha „%adminlinks" "
-"engedélyezett."
-msgid ""
-"Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't "
-"be offered a challenge. Be sure to grant this permission to the "
-"trusted users (e.g. site administrators). If you want to test a "
-"protected form, be sure to do it as a user without the "
-"\"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-"„%skipcaptcha" <a href=\"@perm\">jogosultsággal</a> rendelkező "
-"felhasználók nem kapnak feladatokat. Ezt a jogosultságot minden "
-"megbízható felhasználóhoz hozzá kell rendelni (például az "
-"adminisztrátorok). Egy védett űrlap tesztelését olyan "
-"felhasználóval kell elvégezni, aki nem rendelkezik "
-"„%skipcaptcha" jogosultsággal (Például a vendégek)."
-msgid "skip CAPTCHA"
-msgstr "CAPTCHA mellőzése"
-msgid ""
-"This question is for testing whether you are a human visitor and to "
-"prevent automated spam submissions."
-msgstr ""
-"A kérdés azt vizsgálja, hogy valós látogató, vagy robot "
-"szeretné az űrlapot beküldeni."
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr ""
-"Megbízhatatlan felhasználók fognak látni egy CAPTCHA védelmet itt "
-"(!settings)."
-msgid "general CAPTCHA settings"
-msgstr "általános CAPTCHA beállítások"
-msgid "Enabled challenge"
-msgstr "Engedélyezett feladat"
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "„@type" modul „@module" (!change, !disable)"
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "CAPTCHA elhelyezése ide megbízhatatlan felhasználók ellen."
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "A CAPTCHA feladatra adott válasz helytelen volt."
-msgid ""
-"Solve this simple math problem and enter the result. E.g. for 1+3, "
-"enter 4."
-msgstr "A fenti művelet eredményét kell beírni. Pl.: 1+3 esetén 4-et."
-msgid "@x + @y = "
-msgstr "@x + @y = "
-msgid ""
-"CAPTCHA problem: hook_captcha() of module %module returned nothing "
-"when trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-"CAPTCHA hiba: %modul modul hook_captcha() függvénye nem adott vissza "
-"semmit amikor próbálta kinyerni a %type feladat típusát a %form_id "
-"űrlapról."
-msgid ""
-"%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by "
-"module \"%module\"), user answered \"%response\", but the solution was "
-"\"%solution\"."
-msgstr ""
-"%form_id űrlap beküldését blokkolta a <em>CAPTCHA</em> modul. A "
-"feladat „%challenge" (modul „%module"), a felhasználó "
-"válasza „%response" volt, bár helyes a megoldás „%solution" "
-"lett volna."
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Adminisztráció, hogyan és hol használja a CAPTCHA-t."
-msgid "Examples"
-msgstr "Példák"
-msgid "An overview of the available challenge types with examples."
-msgstr "Egy áttekintés az elérhető feladat típusokról, példákkal."
-msgid ""
-"You can now <a href=\"!captcha_admin\">configure the CAPTCHA "
-"module</a> for your site."
-msgstr ""
-"Most <a href=\"!captcha_admin\">be lehet állítani a <em>CAPTCHA</em> "
-"modult</a> a webhelyen."
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Alap CAPTCHA modul, mely feladatokat ad tetszőleges űrlapokhoz."
-msgid "Code settings"
-msgstr "Kód beállítások"
-msgid ""
-"The code length influences the size of the image. Note that larger "
-"values make the image generation more CPU intensive."
-msgstr ""
-"A kód hossza befolyásolja a kép méretét. Nagyobb értékek "
-"esetén a kép előállítása intenzív processzor használatot "
-"eredményez."
-msgid "Font settings"
-msgstr "Betűkészlet beállítások"
-msgid "tiny"
-msgstr "apró"
-msgid "small"
-msgstr "kicsi"
-msgid "large"
-msgstr "nagy"
-msgid ""
-"The font size influences the size of the image. Note that larger "
-"values make the image generation more CPU intensive."
-msgstr ""
-"A betűméret befolyásolja a kép méretét. Nagyobb értékek "
-"esetén a kép előállítása intenzív processzor használatot "
-"eredményez."
-msgid "Character spacing"
-msgstr "Karakter ritkítás"
-msgid ""
-"Define the average spacing between characters. Note that larger values "
-"make the image generation more CPU intensive."
-msgstr ""
-"A karakterek közötti átlagos távolságot szabályozza. Nagyobb "
-"értékek esetén a kép előállítása intenzív processzor "
-"használatot eredményez."
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "A szöveg színének hexadecimális kódja (Pl. #FFF vagy #FFCE90)."
-msgid "Additional variation of text color"
-msgstr "A szöveg színének változtatása"
-msgid "moderate"
-msgstr "mérsékelt"
-msgid "very high"
-msgstr "nagyon magas"
-msgid ""
-"The different characters will have randomized colors in the specified "
-"range around the text color."
-msgstr ""
-"A különböző karakterek véletlenszerű színt vesznek fel a "
-"megadott szövegszín tartomány környékéről."
-msgid "Distortion and noise"
-msgstr "Torzítás és zaj"
-msgid ""
-"With these settings you can control the degree of obfuscation by "
-"distortion and added noise. Do not exaggerate the obfuscation and "
-"assure that the code in the image is reasonably readable. For example, "
-"do not combine high levels of distortion and noise."
-msgstr ""
-"Ezekkel a beállításokkal lehet szabályozni a torzítás fokát, "
-"és a zaj hozzáadását. Nem szabad túlzásokba esni, és meg kell "
-"győződni arról, hogy a kód a képről egyértelműen leolvasható "
-"maradt. Például nem érdemes kombinálni a nagyszintű torzítást "
-"és a zajt."
-msgid "Distortion level"
-msgstr "Torzítási szint"
-msgid "severe"
-msgstr "szigorú"
-msgid "Set the degree of wave distortion in the image."
-msgstr "A hullámtorzítás szögének beállítása a képen."
-msgid "Smooth distortion"
-msgstr "Egyenletes torzítás"
-msgid "This option adds randomly colored point noise."
-msgstr "Ez a lehetőség véletlenszerű, színes pontokat ad."
-msgid "Add line noise"
-msgstr "Vonalzaj hozzáadása"
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr ""
-"Ez a lehetőség véletlenszerű vonalakat rajzol a szövegkód "
-"fölé."
-msgid "Noise level"
-msgstr "Zajszint"
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "A háttérszín hexadecimális értéke érvénytelen."
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "A szöveg színének hexadecimális értéke érvénytelen."
-msgid ""
-"Generation of image CAPTCHA failed. Check your image CAPTCHA "
-"configuration and especially the used font."
-msgstr ""
-"A kép CAPTCHA előállítása nem sikerült. Ellenőrizni kell a "
-"<em>kép CAPTCHA</em> beállítását, különös tekintettel a "
-"használt betűkészletre."
-msgid "Image CAPTCHA"
-msgstr "Kép CAPTCHA"
-msgid "What code is in the image?"
-msgstr "A képen látható kód"
-msgid "Provides an image based CAPTCHA."
-msgstr "Kép alapú CAPTCHA-t nyújt."
-msgid "File format"
-msgstr "Fájlformátum"
-msgid "Fonts"
-msgstr "Betűtípusok"
-msgid ""
-"This option enables bilinear interpolation of the distortion which "
-"makes the image look smoother, but it is more CPU intensive."
-msgstr ""
-"Ez a lehetőség engedélyezi a torzítás bilineráris "
-"interpolációját, mely a képet jobban láthatóvá teszi, de "
-"intenzív processzor használatot eredményez."
-msgid "Add salt and pepper noise"
-msgstr "Só-bors zaj hozzáadása"
-msgid ""
-"The image CAPTCHA is a popular challenge where a random textual code "
-"is obfuscated in an image. The image is generated on the fly for each "
-"request, which is rather CPU intensive for the server. Be careful with "
-"the size and computation related settings."
-msgstr ""
-"A <em>kép CAPTCHA</em> egy népszerű feladat, ahol véletlenszerű "
-"szöveges kódok vannak eltorzítva a képen. A kép előállítása "
-"ad-hoc történik minden egyes kérésnél, ez azonban intenzív "
-"processzor használatot jelent a kiszolgálónak. Óvatosan kell "
-"bánni a mérettel és a számítási igénnyel kapcsolatos "
-"beállításokkal."
-msgid "default challenge type"
-msgstr "alapértelmezés szerinti feladattípus"
-msgid "@type (from module @module)"
-msgstr "@type (@module modulból)"
-msgid "Form protection"
-msgstr "Űrlapvédelem"
-msgid ""
-"Select the challenge type you want for each of the listed forms "
-"(identified by their so called <em>form_id</em>'s). You can easily add "
-"arbitrary forms with textfield at the bottom of the table or with the "
-"help of the '%CAPTCHA_admin_links' option below."
-msgstr ""
-"A feladat típusának meghatározása a felsorolt űrlapokhoz (Az "
-"űrlap azonosítása a <em>form_id</em> segítségével történik). "
-"Tetszőleges űrlap könnyen hozzáadható a táblázat alján "
-"található szöveges mező, vagy a lenti „%CAPTCHA_admin_links" "
-"segítségével."
-msgid "Default challenge type"
-msgstr "Alapértelmezés szerinti feladattípus"
-msgid ""
-"Select the default challenge type for CAPTCHAs. This can be overriden "
-"for each form if desired."
-msgstr ""
-"Ki kell választani az alapértelmezett CAPTCHA feladattípust. Ez "
-"felülírható minden űrlapon, ha szükséges."
-msgid ""
-"Allow CAPTCHAs and CAPTCHA administration links on administrative "
-"pages"
-msgstr ""
-"Engedélyezi a CAPTCHA feladatokat és a CAPTCHA adminisztrációs "
-"hivatkozásokat az adminisztrációs oldalakon"
-msgid ""
-"This option makes it possible to add CAPTCHAs to forms on "
-"administrative pages. CAPTCHAs are disabled by default on "
-"administrative pages (which shouldn't be accessible to untrusted users "
-"normally) to avoid the related overhead. In some situations, e.g. in "
-"the case of demo sites, it can be usefull to allow CAPTCHAs on "
-"administrative pages."
-msgstr ""
-"Ez a kapcsoló lehetővé teszi CAPTCHA feladatok hozzárendelését "
-"az adminisztrációs oldalak űrlapjaihoz. Az adminisztrációs "
-"oldalakon a feladatok le vannak tiltva alapértelmezés szerint "
-"(melyek normál módon nem elérhetők a megbízhatatlan "
-"felhasználók számára) elkerülendő a kapcsolódó "
-"többletterhelést. Azonban néhány esetben (például bemutató "
-"oldalakon) hasznos lehet a CAPTCHA engedélyezése az "
-"adminisztrációs oldalakra is."
-msgid "Add a description to the CAPTCHA"
-msgstr "Leírás hozzáadása a CAPTCHA-hoz"
-msgid ""
-"Add a configurable description to explain the purpose of the CAPTCHA "
-"to the visitor."
-msgstr ""
-"Beállítható leírás hozzáadása, ami elmagyarázza a "
-"látogatóknak a CAPTCHA célját."
-msgid "CAPTCHA description"
-msgstr "CAPTCHA leírása"
-msgid ""
-"Configurable description of the CAPTCHA. An empty entry will reset the "
-"description."
-msgstr ""
-"A CAPTCHA beállítható leírása. Az üres bejegyzés elrejti a "
-"leírást."
-msgid "Default CAPTCHA validation"
-msgstr "Alapértelmezett CAPTCHA ellenőrzés"
-msgid ""
-"Define how the response should be processed by default. Note that the "
-"modules that provide the actual challenges can override or ignore "
-"this."
-msgstr ""
-"Meghatározza a válasz alapértelmezett feldolgozási módját. "
-"Fontos megjegyezni, hogy a jelenleg alkalmazott feladatot nyújtó "
-"modul ezt nem mindig veszi figyelembe."
-msgid ""
-"Case sensitive validation: the response has to exactly match the "
-"solution."
-msgstr ""
-"Kis- és nagybetűérzékeny ellenőrzés: a válasznak tökéletesen "
-"kell egyeznie a feladvánnyal."
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr ""
-"Kis-, illetve nagybetűérzéketlen ellenőrzés: a kisbetű és "
-"nagybetű hibák figyelmen kívül lesznek hagyva."
-msgid "Added CAPTCHA point."
-msgstr "CAPTCHA pont hozzáadva."
-msgid "Reset of CAPTCHA description for language %language."
-msgstr "CAPTCHA leírás elrejtése %language nyelv esetén."
-msgid "Reset of CAPTCHA description."
-msgstr "CAPTCHA leírás elrejtése."
-msgid ""
-"Failed to set a CAPTCHA type for form %form_id: could not interpret "
-"value \"@captcha_type\""
-msgstr ""
-"A CAPTCHA típus beállítása nem sikerült a következő űrlapon: "
-"%form_id. Nem értelmezhető érték: „@captcha_type"."
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA: feladat „@type" engedélyezve"
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr "Ez egy előre megoldott, nem blokkoló példája ennek a feladatnak."
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: nincs engedélyezett feladat"
-msgid "Test one two three"
-msgstr "Teszt egy, kettő, három"
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "Már 1 meggátolt űrlapbeküldés történt"
-msgstr[1] "Már @count meggátolt űrlapbeküldés történt"
-msgid "CAPTCHA point administration"
-msgstr "CAPTCHA pont adminisztrációja"
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr ""
-"Előre megoldott <em>kép CAPTCHA</em> példa, az aktuális "
-"beállításokkal létrehozva."
-msgid "extra large"
-msgstr "nagyon nagy"
-msgid "tight"
-msgstr "szűk"
-msgid "wide"
-msgstr "széles"
-msgid "extra wide"
-msgstr "nagyon széles"
-msgid ""
-"This option makes it easy to manage CAPTCHA settings on forms. When "
-"enabled, users with the \"%admincaptcha\" permission will see a "
-"fieldset with CAPTCHA administration links on all forms, except on "
-"administrative pages."
-msgstr ""
-"Ezzel a lehetőséggel könnyebben szabályozható az űrlapokhoz "
-"rendelt CAPTCHA. Bekapcsolt állapotban a „%admincaptcha" "
-"jogosultsággal rendelkező felhasználók egy mezőcsoportot fognak "
-"látni az összes űrlap alatt, kivéve az adminisztratív oldalakon."
-msgid ""
-"The built-in font only supports Latin2 characters. Only use \"a\" to "
-"\"z\" and numbers."
-msgstr ""
-"A beépített betűtípus csak Latin2 karaktereket támogat. "
-"Kizárólag a betűk „a"-tól „z"-ig, valamint számok "
-"használhatók."
-msgid ""
-"CAPTCHA validation error: unknown CAPTCHA session ID. Contact the site "
-"administrator if this problem persists."
-msgstr ""
-"CAPTCHA ellenőrzési hiba: ismeretlen CAPTCHA "
-"munkafolyamat-azonosító. Ha állandósul a probléma, érdemes "
-"felvenni a kapcsolatot a webhely üzemeltetőjével."
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID (%csid)."
-msgstr ""
-"CAPTCHA ellenőrzési hiba: ismeretlen CAPTCHA "
-"munkafolyamat-azonosító (%csid)."
-msgid ""
-"The Image CAPTCHA module can not generate images because your PHP "
-"setup does not support it (no <a href=\"!gdlib\">GD library</a> with "
-"JPEG support)."
-msgstr ""
-"Az Image CAPTCHA modul nem tud képeket létrehozni, mert a PHP "
-"beállításai nem támogatják azt (nincs JPEG támogatással "
-"rendelkező href=\"!gdlib\">GD könyvtár</a>)."
-msgid "Color and image settings"
-msgstr "Szín- és képbeállítások"
-msgid ""
-"Configuration of the background, text colors and file format of the "
-"image CAPTCHA."
-msgstr ""
-"A kép CAPTCHA hátterének, szövegszínének és fájlformátumának "
-"beállítása."
-msgid ""
-"Enter the hexadecimal code for the background color (e.g. #FFF or "
-"#FFCE90). When using the PNG file format with transparent background, "
-"it is recommended to set this close to the underlying background "
-"color."
-msgstr ""
-"A háttérszín tizenhatos számrendszerbeli kódja. (például #FFF "
-"vagy #FFCE90). Ãtlátszó PNG fájloknál ajánlott a kép alatt "
-"megjelenő háttér színéhez igazítani az átlátszóságot rosszul "
-"kezelő böngészők (például Internet Explorer 6) érdekében."
-msgid ""
-"Select the file format for the image. JPEG usually results in smaller "
-"files, PNG allows tranparency."
-msgstr ""
-"A kép fájlformátumának kiválasztása. A JPEG fájlok általában "
-"kisebbek, a PNG fájlok engedélyezik az átlátszóságot és kisebb "
-"a tömörítési algoritmusból fakadó zavar."
-msgid "JPEG"
-msgstr "JPEG"
-msgid "PNG"
-msgstr "PNG"
-msgid "PNG with transparent background"
-msgstr "PNG átlátszó háttérrel"
-msgid "@level - no distortion"
-msgstr "@level - nincs torzítás"
-msgid "@level - low"
-msgstr "@level - alacsony"
-msgid "@level - medium"
-msgstr "@level - közepes"
-msgid "@level - high"
-msgstr "@level - magas"
-msgid "No TrueType support"
-msgstr "Nincs <em>TrueType</em> támogatás"
-msgid ""
-"The Image CAPTCHA module can not use TrueType fonts because your PHP "
-"setup does not support it. You can only use a PHP built-in bitmap font "
-"of fixed size."
-msgstr ""
-"Az <em>Image Captcha</em> modul nem tud <em>TrueType</em> "
-"betűtípusokat használni, mert a PHP beállítása nem támogatja "
-"auz. Csak a PHP beépített, rögzített méretű betűtípusa "
-"használható."
-msgid "Font preview of @font (@file)"
-msgstr "@font (@file) betűtípus előnézete"
-msgid "Preview of built-in font"
-msgstr "Beépített betűtípus előnézete"
-msgid "PHP built-in font: !font_preview"
-msgstr "Beépített PHP betűtípus: !font_preview"
-msgid ""
-"Select the fonts to use for the text in the image CAPTCHA. Apart from "
-"the provided defaults, you can also use your own TrueType fonts "
-"(filename extension .ttf) by putting them in %fonts_library_general or "
-"%fonts_library_specific. You can also upload them to the \"files\" "
-"directory of your site (%filesdir), e.g. with the \"Upload\" module, "
-"but those fonts will not get a preview for security reasons."
-msgstr ""
-"Ki kell választani a kép CAPTCHA modulban a szövegekhez használt "
-"betűtípust. Az alapértelmezés szerint biztosítottak mellett a "
-"%fonts_library_general vagy a %fonts_library_specific könyvtárakban "
-"elhelyezett saját <em>TrueType</em> betűtípusok (.ttf filenév "
-"kiterjesztés) is használhatóak. A betűtípusokat a webhely "
-"„files" könyvtárba (%filesdir) is fel lehet tölteni pl. az "
-"<em>Upload</em> modul használatával, de ezekhez biztonsági okokból "
-"nem lesz előnézet létrehozva."
-msgid "You need to select at least one font."
-msgstr "Legalább egy betűtípust ki kell választani."
-msgid "The following fonts are not readable: %fonts."
-msgstr "A következő betűtípusok nem olvashatóak: %fonts."
-msgid "Enter the characters shown in the image."
-msgstr "Be kell írni a képen látható karaktereket."
-msgid "Font example"
-msgstr "Betűtípus példa"
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/id.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/id.po deleted file \
mode 100644 index eda3229..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/id.po
+++ /dev/null
@@ -1,698 +0,0 @@
-# $Id: id.po,v 1.1.2.1 2010/06/03 22:56:21 soxofaan Exp $
-#
-# Indonesian translation of Drupal (general)
-# Copyright (c) 2010 by the Indonesian translation team <admin@drupal-id.org>
-# Generated from files:
-#  captcha.admin.inc,v 1.30 2009/08/10 22:33:34 soxofaan
-#  image_captcha.admin.inc,v 1.28 2009/09/23 21:23:00 soxofaan
-#  captcha.module,v 1.100 2009/09/20 10:57:07 soxofaan
-#  captcha.inc,v 1.11 2009/08/27 22:21:56 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.21 2009/09/22 22:51:00 soxofaan
-#  image_captcha.module,v 1.31 2009/09/22 22:51:00 soxofaan
-#  captcha.install,v 1.10 2009/05/26 20:17:40 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2009-09-23 23:34+0200\n"
-"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
-"Last-Translator: Ki-drupadi <kidrupadi@yahoo.com>\n"
-"Language-Team: drupal-id.org <admin@drupal-id.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: captcha.admin.inc:16 image_captcha/image_captcha.admin.inc:171
-msgid "none"
-msgstr "tidak ada"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "jenis tantangan baku"
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr ""
-
-#: captcha.admin.inc:42
-msgid "Form protection"
-msgstr "Perlindungan Form"
-
-#: captcha.admin.inc:43
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr ""
-
-#: captcha.admin.inc:44;108 captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Tambahkan link CAPTCHA admin ke form"
-
-#: captcha.admin.inc:49
-msgid "Default challenge type"
-msgstr "Jenis tantangan baku"
-
-#: captcha.admin.inc:50
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr ""
-
-#: captcha.admin.inc:86
-msgid "delete"
-msgstr "hapus"
-
-#: captcha.admin.inc:110
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:110 captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "Kelola pengaturan CAPTCHA"
-
-#: captcha.admin.inc:115
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr "Ijinkan CAPTCHA dan tautan admin CAPTCHA pada halaman Administer"
-
-#: captcha.admin.inc:117
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:123
-msgid "Add a description to the CAPTCHA"
-msgstr "Tambahkan deskripsi ke CAPTCHA"
-
-#: captcha.admin.inc:124
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr ""
-
-#: captcha.admin.inc:132
-msgid "CAPTCHA description"
-msgstr "deskripsi CAPTCHA"
-
-#: captcha.admin.inc:133;149
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr "Deskripsi CAPTCHA yang bisa diubah. Entri kosong akan menghilangkan \
                deskripsi"
-
-#: captcha.admin.inc:139
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Untuk bahasa %lang_name (code %lang_code)"
-
-#: captcha.admin.inc:148
-msgid "Challenge description"
-msgstr "deskripsi tantangan"
-
-#: captcha.admin.inc:159
-msgid "Default CAPTCHA validation"
-msgstr "Validasi CAPTCHA baku"
-
-#: captcha.admin.inc:160
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr ""
-
-#: captcha.admin.inc:162
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr ""
-
-#: captcha.admin.inc:163
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr ""
-
-#: captcha.admin.inc:171
-msgid "Persistence"
-msgstr "Menetap"
-
-#: captcha.admin.inc:174
-msgid "Always add a challenge."
-msgstr "Selalu tambahkan tantangan"
-
-#: captcha.admin.inc:175
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Hilangkan tantangan untuk form apabila pengguna berhasil merespon sekali \
                saja pada form tersebut"
-
-#: captcha.admin.inc:176
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Hilangkan tantangan untuk semua form apabila pengguna berhasil merespon \
                sekali"
-
-#: captcha.admin.inc:178
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr ""
-
-#: captcha.admin.inc:184
-msgid "Log wrong responses"
-msgstr "Catat respon yang salah"
-
-#: captcha.admin.inc:185
-msgid "Report information about wrong responses to the !log."
-msgstr "Laporkan informasi tentang respon yang salah pada !log"
-
-#: captcha.admin.inc:185
-msgid "log"
-msgstr "Catat"
-
-#: captcha.admin.inc:192
-msgid "Save configuration"
-msgstr "Simpan pengaturan"
-
-#: captcha.admin.inc:202;342
-msgid "Challenge type"
-msgstr "Tipe tantangan"
-
-#: captcha.admin.inc:202
-msgid "Operations"
-msgstr "Tindakan"
-
-#: captcha.admin.inc:229;363
-msgid "Illegal form_id"
-msgstr "form_id tidak dikenal"
-
-#: captcha.admin.inc:255
-msgid "Added CAPTCHA point."
-msgstr "Tambahkan titik CAPTCHA"
-
-#: captcha.admin.inc:270
-msgid "Reset of CAPTCHA description for language %language."
-msgstr "Kembalikan nilai deskripsi CAPTCHA untuk bahasa %language."
-
-#: captcha.admin.inc:281
-msgid "Reset of CAPTCHA description."
-msgstr "Kembalikan nilai deskripsi CAPTCHA."
-
-#: captcha.admin.inc:289
-msgid "The CAPTCHA settings were saved."
-msgstr "Pengaturan CAPTCHA telah disimpan"
-
-#: captcha.admin.inc:321;335
-msgid "Form ID"
-msgstr ""
-
-#: captcha.admin.inc:322;336
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr ""
-
-#: captcha.admin.inc:343
-msgid "The CAPTCHA type to use for this form"
-msgstr ""
-
-#: captcha.admin.inc:352
-msgid "Save"
-msgstr ""
-
-#: captcha.admin.inc:375
-msgid "Saved CAPTCHA point settings."
-msgstr ""
-
-#: captcha.admin.inc:392
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:393
-msgid "Delete"
-msgstr ""
-
-#: captcha.admin.inc:396
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:397
-msgid "Disable"
-msgstr ""
-
-#: captcha.admin.inc:410
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:414
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:451
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr ""
-
-#: captcha.admin.inc:459
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr ""
-
-#: captcha.admin.inc:462
-msgid "10 more examples of this challenge."
-msgstr ""
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr ""
-
-#: captcha.inc:146
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr ""
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr ""
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr ""
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr ""
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr ""
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr ""
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr ""
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr ""
-
-#: (duplicate) captcha.module:269;322;119 ;222;427;456;60;71 captcha.info:0 \
                image_captcha/image_captcha.user.inc:29;73 \
                image_captcha/image_captcha.module:95
-msgid "CAPTCHA"
-msgstr ""
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr ""
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr ""
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr ""
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr ""
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr ""
-
-#: captcha.module:337
-msgid "change"
-msgstr ""
-
-#: captcha.module:338
-msgid "disable"
-msgstr ""
-
-#: captcha.module:352 image_captcha/image_captcha.admin.inc:57
-msgid "Example"
-msgstr ""
-
-#: captcha.module:353
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr ""
-
-#: captcha.module:362
-msgid "CAPTCHA: no challenge enabled"
-msgstr ""
-
-#: captcha.module:364
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr ""
-
-#: captcha.module:426
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID. Contact the site \
                administrator if this problem persists."
-msgstr ""
-
-#: captcha.module:451
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr ""
-
-#: captcha.module:538
-msgid "Math question"
-msgstr ""
-
-#: captcha.module:539
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr ""
-
-#: captcha.module:540
-msgid "@x + @y = "
-msgstr ""
-
-#: captcha.module:559
-msgid "Test one two three"
-msgstr ""
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-
-#: captcha.module:427
-msgid "CAPTCHA validation error: unknown CAPTCHA session ID (%csid)."
-msgstr ""
-
-#: captcha.module:456
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr ""
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] ""
-msgstr[1] ""
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr ""
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Pengaturan umum"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Contoh"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr ""
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr ""
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr ""
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr ""
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr ""
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:29
-msgid "Built-in font"
-msgstr "Font terpasang"
-
-#: image_captcha/image_captcha.admin.inc:47
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a> with JPEG \
                support)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:58
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:69
-msgid "Code settings"
-msgstr "Pengaturan kode"
-
-#: image_captcha/image_captcha.admin.inc:73
-msgid "Characters to use in the code"
-msgstr "Karakter yang digunakan dalam kode"
-
-#: image_captcha/image_captcha.admin.inc:78
-msgid "Code length"
-msgstr "Panjang kode"
-
-#: image_captcha/image_captcha.admin.inc:81
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:87
-msgid "Font settings"
-msgstr "Pengaturan Font"
-
-#: image_captcha/image_captcha.admin.inc:93
-msgid "Font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:95
-msgid "Select the font to use for the text in the image CAPTCHA. Apart from the \
provided defaults, you can also use your own TrueType fonts (filename extension .ttf) \
by putting them in the Drupal \"files\" directory (directory %filesdir), \
                %fonts_library_general or %fonts_library_specific."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:110
-msgid "Font size"
-msgstr "Ukuran Font"
-
-#: image_captcha/image_captcha.admin.inc:112
-msgid "tiny"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:113;172
-msgid "small"
-msgstr "kecil"
-
-#: image_captcha/image_captcha.admin.inc:115;139
-msgid "normal"
-msgstr "normal"
-
-#: image_captcha/image_captcha.admin.inc:117
-msgid "large"
-msgstr "besar"
-
-#: image_captcha/image_captcha.admin.inc:119
-msgid "extra large"
-msgstr "sangat besar"
-
-#: image_captcha/image_captcha.admin.inc:122
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Character spacing"
-msgstr "spasi karakter"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:138
-msgid "tight"
-msgstr "rapat"
-
-#: image_captcha/image_captcha.admin.inc:140
-msgid "wide"
-msgstr "lebar"
-
-#: image_captcha/image_captcha.admin.inc:141
-msgid "extra wide"
-msgstr "sangat lebar"
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Color and image settings"
-msgstr "Pengaturan warna dan gambar"
-
-#: image_captcha/image_captcha.admin.inc:149
-msgid "Configuration of the background, text colors and file format of the image \
                CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:153
-msgid "Background color"
-msgstr "warna latar belakang"
-
-#: image_captcha/image_captcha.admin.inc:154
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90). \
When using the PNG file format with transparent background, it is recommended to set \
                this close to the underlying background color."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:161
-msgid "Text color"
-msgstr "warna teks"
-
-#: image_captcha/image_captcha.admin.inc:162
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:169
-msgid "Additional variation of text color"
-msgstr "tambahan variasi warna pada teks"
-
-#: image_captcha/image_captcha.admin.inc:173
-msgid "moderate"
-msgstr "sederhana"
-
-#: image_captcha/image_captcha.admin.inc:174;245
-msgid "high"
-msgstr "terang"
-
-#: image_captcha/image_captcha.admin.inc:175
-msgid "very high"
-msgstr "sangat terang"
-
-#: image_captcha/image_captcha.admin.inc:178
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:182
-msgid "File format"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:183
-msgid "Select the file format for the image. JPEG usually results in smaller files, \
                PNG allows tranparency."
-msgstr "Pilih Format file untuk gambar. JPEG menghasilkan file yang kecil, PNG bisa \
                latar transparan"
-
-#: image_captcha/image_captcha.admin.inc:186
-msgid "JPEG"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:187
-msgid "PNG"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:188
-msgid "PNG with transparent background"
-msgstr "PNG dengan latar transparan"
-
-#: image_captcha/image_captcha.admin.inc:195
-msgid "Distortion and noise"
-msgstr "Distorsi dan noise"
-
-#: image_captcha/image_captcha.admin.inc:196
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:201
-msgid "Distortion level"
-msgstr "Tingkat distorsi"
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "@level - no distortion"
-msgstr "@level - tanpa distorsi"
-
-#: image_captcha/image_captcha.admin.inc:204
-msgid "@level - low"
-msgstr "@level - rendah"
-
-#: image_captcha/image_captcha.admin.inc:208
-msgid "@level - medium"
-msgstr "@level - sedang"
-
-#: image_captcha/image_captcha.admin.inc:213
-msgid "@level - high"
-msgstr "@level - tinggi"
-
-#: image_captcha/image_captcha.admin.inc:216
-msgid "Set the degree of wave distortion in the image."
-msgstr "Atur derajat gelombang distorsi pada image"
-
-#: image_captcha/image_captcha.admin.inc:220
-msgid "Smooth distortion"
-msgstr "Distorsi halus"
-
-#: image_captcha/image_captcha.admin.inc:222
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:227
-msgid "Add salt and pepper noise"
-msgstr "Tambahkan bintik garam dan lada"
-
-#: image_captcha/image_captcha.admin.inc:229
-msgid "This option adds randomly colored point noise."
-msgstr "Pilihan ini menambahkan noise titik berwarna"
-
-#: image_captcha/image_captcha.admin.inc:233
-msgid "Add line noise"
-msgstr "tambahkan noise bergaris"
-
-#: image_captcha/image_captcha.admin.inc:235
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Pilihan ini mengaktifkan gambar garis acak di atas kode teks"
-
-#: image_captcha/image_captcha.admin.inc:239
-msgid "Noise level"
-msgstr "Tingkatan Noise"
-
-#: image_captcha/image_captcha.admin.inc:241
-msgid "low"
-msgstr "rendah"
-
-#: image_captcha/image_captcha.admin.inc:243
-msgid "medium"
-msgstr "sedang"
-
-#: image_captcha/image_captcha.admin.inc:247
-msgid "severe"
-msgstr "susah"
-
-#: image_captcha/image_captcha.admin.inc:264
-msgid "The Image CAPTCHA module can not use TrueType fonts because your PHP setup \
                does not support it. You can only use a low quality built-in bitmap \
                font."
-msgstr "Image CAPTCHA tidak bisa menggunakan Truetype font karena PHP anda tidak \
                mendunkung. Anda hanya bisa menggunkan bitmap font kualitas rendah"
-
-#: image_captcha/image_captcha.admin.inc:269
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr "Penggunaan bitmap font terpasang tidak dianjurkan karena ukurannya kecil dan \
                tidak mendukung UTF-8"
-
-#: image_captcha/image_captcha.admin.inc:280
-msgid "The list of characters to use should not contain spaces."
-msgstr "Daftar karakter yang digunkan tidak boleh berisi spasi"
-
-#: image_captcha/image_captcha.admin.inc:285
-msgid "You need to select a font"
-msgstr "Anda harus memilih font"
-
-#: image_captcha/image_captcha.admin.inc:290
-msgid "The built-in font only supports Latin2 characters. Only use \"a\" to \"z\" \
                and numbers."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:294
-msgid "Font does not exist or is not readable."
-msgstr "Font tidak tersedia atau tidak terbaca"
-
-#: image_captcha/image_captcha.admin.inc:299
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Warna latar tidak termasuk nilai heksadesimal untuk warna"
-
-#: image_captcha/image_captcha.admin.inc:302
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Warna teks tidak termasuk nilai heksadesimal untuk warna"
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr ""
-
-#: image_captcha/image_captcha.user.inc:73
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr "Tidak dapat menemukan atau membaca konfigurasi font (\"%font\") untuk image \
                CAPTCHA"
-
-#: image_captcha/image_captcha.module:29
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "CAPTCHA gambar adalah tantangan yang populer ketika kode teks acak tampak \
                kabur dalam gambar..."
-
-#: image_captcha/image_captcha.module:165
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Masukan karakter yang nampak dalam gambar. Abaikan spasi dan hati-hati \
                dengan huruf besar dan kecil"
-
-#: image_captcha/image_captcha.module:168
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Masukan karakter pada gambar yang tampil (tanpa spasi)"
-
-#: image_captcha/image_captcha.module:178;178;41 image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr ""
-
-#: image_captcha/image_captcha.module:183
-msgid "What code is in the image?"
-msgstr "Apakah kode pada gambar?"
-
-#: image_captcha/image_captcha.module:95
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "hitungan byte ilegal ketika memisahkan utf8 string dalam karakter"
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "CAPTCHA gambar yang tersedia"
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/it.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/it.po deleted file \
mode 100644 index a031b62..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/it.po
+++ /dev/null
@@ -1,502 +0,0 @@
-# $Id: it.po,v 1.3 2009/07/17 17:54:50 soxofaan Exp $
-#
-# LANGUAGE translation of Drupal (general)
-# Copyright YEAR NAME <augusto@fagioli.biz>
-# Generated from files:
-#  captcha.module,v 1.42.2.24 2007/08/24 03:16:29 wundo
-#  captcha.info,v 1.3.2.2 2007/07/10 22:02:33 robloach
-#  captcha.install,v 1.1.4.4 2007/07/24 00:45:39 robloach
-#  image_captcha.info,v 1.1.4.2 2007/07/10 22:02:34 robloach
-#  text_captcha.info,v 1.1.4.2 2007/07/10 22:02:35 robloach
-#  image_captcha.module,v 1.1.4.14 2007/08/29 19:18:34 robloach
-#  text_captcha.module,v 1.1.4.8 2007/08/25 13:29:49 wundo
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: it\n"
-"POT-Creation-Date: 2007-09-04 21:17+0200\n"
-"PO-Revision-Date: 2008-09-10 14:21+0200\n"
-"Last-Translator: augusto\n"
-"Language-Team:  <en@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Poedit-Country: GERMANY\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: captcha.module:26
-msgid "A captcha is a tool to fight automated spam submission of forms (e.g. user \
registration forms, comment forms, guestbook forms, etc.) by malicious users. A \
captcha is an extra field (or several fields) on a form presented to the user. It \
represents a challenge, which should be easy for a normal human to solve (e.g. a \
                simple math problem), but hard enough to keep automated scripts and \
                spam bots out."
-msgstr ""
-
-#: captcha.module:30
-msgid "<p>A captcha can be added to virtually each drupal form (which is identified \
by a <em>form_id</em>). The captcha module comes with some default forms to add a \
captcha to, but arbitrary forms can be easily added and managed when the option \
\"%adminlinks\" is enabled.</p><p>Users with the \"%skipcaptcha\" <a \
href=\"@perm\">permission</a> won't be offered a captcha. Be sure to grant this \
permission to the trusted users (e.g. site administrators). If you want to test the \
captcha challenges, be sure to do it as a user without the \"%skipcaptcha\" \
                permission (e.g. as unauthenticated user).</p>"
-msgstr ""
-
-#: captcha.module:33;174
-msgid "Add captcha adminstration links to forms"
-msgstr "Aggiungi Link di gestione Captcha ai forms"
-
-#: captcha.module:49;59;342
-#: captcha.info:0
-msgid "Captcha"
-msgstr "CAPTCHA"
-
-#: captcha.module:50
-msgid "Administer how and where Captchas are used."
-msgstr "Gestisci come e dove Captcha viene usato"
-
-#: captcha.module:65
-msgid "General settings"
-msgstr "Impostazioni generali"
-
-#: captcha.module:71
-msgid "Examples"
-msgstr "Esempi"
-
-#: captcha.module:72
-msgid "An overview of the available captcha types with examples."
-msgstr "Panoramica dei typi disponibili di Captcha con esempi"
-
-#: captcha.module:119;122
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Questa domanda serve a verificare che il form non venga inviato da procedure \
                automatizzate"
-
-#: captcha.module:142
-msgid "Disabled captcha for form %form_id."
-msgstr "Disabilita CAPTCHA per il form %form_id "
-
-#: captcha.module:148
-msgid "Deleted captcha for form %form_id."
-msgstr "CAPTCHA eliminati per il form %form_id"
-
-#: captcha.module:176
-msgid "This option is very helpful to enable/disable captchas on forms. When \
enabled, users with the \"%admincaptcha\" permission will see captcha administration \
links on all forms (except on administrative pages, which shouldn't be accessible to \
                untrusted users in the first place)."
-msgstr "Opzione utile per abilitare/disabilitare CAPTCHA nei form. Quando abilitata, \
gli utenti con il permesso  \"%admincaptcha\"- disporra' dei link di gestione  \
CAPTCHA-su tutti i form. (tranne che per le pagine di amministrazione, che di norma \
                sono disponibili agli utenti amministratori)."
-
-#: captcha.module:181
-msgid "Select captcha types"
-msgstr "Seleziona il tipo di Captcha"
-
-#: captcha.module:182
-msgid "Select what kind of captcha challenge you want for each form."
-msgstr "Assegna d ogni form un tipo di CAPTCHA"
-
-#: captcha.module:208
-msgid "delete"
-msgstr "elimina"
-
-#: captcha.module:218;232
-msgid "Captcha description"
-msgstr "Descrizione del CAPTCHA"
-
-#: captcha.module:219;233
-msgid "With this description you can explain the purpose of the captcha challenge to \
                the user."
-msgstr "Con questa testo puoi  descrivere il Captcha agli utenti del sito"
-
-#: captcha.module:224
-msgid "Captcha description for %lang_name (locale %lang_code)"
-msgstr "Descrizione CAPTCHA per la lingua  %lang_name (Locale %lang_code)"
-
-#: captcha.module:240
-msgid "Persistent captchas"
-msgstr "CAPTCHAs Persistenti"
-
-#: captcha.module:241
-msgid "If checked, the user will always have to solve a captcha. If not checked, the \
captcha check for a form will be omitted during the rest of the session once the user \
                has successfully solved a captcha for that form."
-msgstr ""
-
-#: captcha.module:247
-msgid "Submit"
-msgstr "Invia"
-
-#: captcha.module:263
-msgid "Captcha type (module)"
-msgstr "Tipo di CAPTCHA (Modulo)"
-
-#: captcha.module:263
-msgid "Operations"
-msgstr "Operazioni"
-
-#: captcha.module:294
-msgid "Your captcha settings were saved."
-msgstr ""
-
-#: captcha.module:330
-msgid "Captcha problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve captcha type %type for form %form_id."
-msgstr ""
-
-#: captcha.module:408;420
-msgid "Captcha administration"
-msgstr "CAPTCHA-Verwaltung"
-
-#: captcha.module:409
-msgid "The captcha challenge \"@type\" (by module \"@module\") is enabled here for \
                untrusted users: !edit or !disable."
-msgstr "La richiesta Captcha  \"@type\" (von Modul \"@module\") e' abilitata per \
                utenti anonimi : !edit o !disable."
-
-#: captcha.module:412
-msgid "edit captcha type"
-msgstr "modifica il tipo di CAPTCHA"
-
-#: captcha.module:413
-msgid "disable captcha"
-msgstr "disabilita CAPTCHA"
-
-#: captcha.module:421
-msgid "Place a captcha challenge here for untrusted users."
-msgstr "Mostra Captcha agli utenti non autenticati"
-
-#: captcha.module:443
-msgid "Invalid captcha token."
-msgstr "Token Captcha non valido"
-
-#: captcha.module:450
-msgid "The answer you entered for the captcha challenge was not correct."
-msgstr "La risposta Captcha non e' corretta"
-
-#: captcha.module:490
-msgid "You can't request more than @num captcha challenges without solving them. \
                Your previous captcha challenges were flushed."
-msgstr "Non puoi richiedere piu' di  @num CAPTCHA senza rispondere esattamente. I \
                precedenti Captcha sono stati eliminati"
-
-#: captcha.module:543
-msgid "This page gives an overview of all available captcha types, generated with \
                their current settings."
-msgstr "Questa pagina mostra i tipi di Captcha disponibili., generati con le \
                impostazioni attuali"
-
-#: captcha.module:554
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Richiesta  \"%challenge\" del modulo \"%module\""
-
-#: captcha.module:559
-msgid "10 more examples of this captcha type."
-msgstr "Altri 10 esempi per questo tipo di Captcha"
-
-#: captcha.module:588
-msgid "Math Question"
-msgstr "Domanda matematica"
-
-#: captcha.module:589
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Risolvi la somma algebrica. Esempio : per 1 + 3 inserisci 4"
-
-#: captcha.module:590
-msgid "@x + @y = "
-msgstr "@x + @y ="
-
-#: captcha.module:329;0
-msgid "captcha"
-msgstr "CAPTCHA"
-
-#: captcha.module:85
-msgid "administer captcha"
-msgstr "Gestione CAPTCHA"
-
-#: captcha.module:85
-msgid "skip captcha challenges"
-msgstr "Salta la richiesta CAPTCHA"
-
-#: captcha.install:31;75
-msgid "Unsupported database."
-msgstr "Unsupported database."
-
-#: captcha.install:41
-msgid "The installation of the captcha_points table and some default entries was \
                successful"
-msgstr "L'installazione della tabella  captcha_points con valori di default e' stata \
                eseguita."
-
-#: captcha.install:43
-msgid "The installation of the captcha module failed"
-msgstr "L'installazione del modulo e' fallita"
-
-#: captcha.info:0
-msgid "Base captcha module for adding captcha challenges to registration, comment \
                and contact forms for example."
-msgstr "Modulo Base per aggiungere Richiesta Captcha per la registrazione, commenti, \
                e moduli di contatti"
-
-#: captcha.info:0
-#: image_captcha/image_captcha.info:0
-#: text_captcha/text_captcha.info:0
-msgid "Spam control"
-msgstr "Controllo SPAM"
-
-#: image_captcha/image_captcha.module:20
-msgid "The image captcha is a popular type of captcha challenge where a random \
textual code is obfuscated in an image. The image is generated on the fly for each \
request, which is rather CPU intensive for the server. Be carefull with the size and \
                computation related settings."
-msgstr "Image Captcha e' un diffuso tipo di captcha dove viene esposta immagine che \
espone del testo.L'immagine e' generata al volo per ogni richiesta, con lavoro extra \
della CPU. Verifica le prestazioni del server ed eventualmente cambia le \
                impostazioni"
-
-#: image_captcha/image_captcha.module:24
-msgid "<p>Example captcha image, generated with the current settings:</p>!img"
-msgstr "<p>Esempio di captcha image, generato con le impostazioni attuali:</p>!img"
-
-#: image_captcha/image_captcha.module:39
-#: image_captcha/image_captcha.info:0
-msgid "Image captcha"
-msgstr "Image captcha"
-
-#: image_captcha/image_captcha.module:67
-msgid "No font configured."
-msgstr "Nessuna font e' stata impostata"
-
-#: image_captcha/image_captcha.module:71
-msgid "Could not find or read the configured font \"%font\" for the image captcha."
-msgstr "Non e' possibile accedere alla font selezionata \"%font\" per creare una \
                image captcha."
-
-#: image_captcha/image_captcha.module:98
-msgid "Image captchas cannot be generated, because your PHP installation's GD \
                library has no JPEG support."
-msgstr "Le immagini Captcha non possono essere generate per la mancanza del supporto \
                JPEG della libreria GD in uso dal PHP"
-
-#: image_captcha/image_captcha.module:103
-msgid "Characters to use in the code"
-msgstr "Caratteri in uso"
-
-#: image_captcha/image_captcha.module:108
-msgid "Code length"
-msgstr "Lunghezza del codice"
-
-#: image_captcha/image_captcha.module:111
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "La lunghezza del codice influenza sia l'uso della CPU che la dimensione \
                della immagine creata."
-
-#: image_captcha/image_captcha.module:117
-msgid "The image captcha module requires a TrueType font file (.ttf) for generating \
the images, but because of licencing issues it is not allowed to package fonts with \
the module. You can install fonts yourself however, by putting them in the fonts \
directory of the image captcha module (directory \"%fontsdir\") or by uploading them \
to your Drupal file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr ""
-
-#: image_captcha/image_captcha.module:124
-msgid "Select a font"
-msgstr "Seleziona un font"
-
-#: image_captcha/image_captcha.module:129
-msgid "Font"
-msgstr "Font"
-
-#: image_captcha/image_captcha.module:131
-msgid "The TrueType font (.ttf) to use for the text in the image captcha."
-msgstr "Il TrueType font (.ttf) da usare per generare il tessto nella immagine"
-
-#: image_captcha/image_captcha.module:139
-msgid "Font size"
-msgstr "Dimensine del font"
-
-#: image_captcha/image_captcha.module:141
-msgid "tiny"
-msgstr "molto piccolo"
-
-#: image_captcha/image_captcha.module:142
-msgid "small"
-msgstr "piccolo"
-
-#: image_captcha/image_captcha.module:143;164;202
-msgid "normal"
-msgstr "medio"
-
-#: image_captcha/image_captcha.module:144
-msgid "large"
-msgstr "grande"
-
-#: image_captcha/image_captcha.module:147
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "La dimensionedel font codice influenza sia l'uso della CPU che la dimensione \
                della immagine creata."
-
-#: image_captcha/image_captcha.module:153
-msgid "Distortion and noise"
-msgstr "Distorsione e disturbo"
-
-#: image_captcha/image_captcha.module:154
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr ""
-"Con questa impostazione puoi controllare il livello di affuscamento per distorsione \
                ed il disturbo aggiunto. "
-"Da usare con cautela. La combinazione di questi valori possono portare a testi poco \
                leggibili"
-
-#: image_captcha/image_captcha.module:159
-msgid "Distortion level"
-msgstr "Livello di distorsione"
-
-#: image_captcha/image_captcha.module:161
-msgid "none"
-msgstr "nessuno"
-
-#: image_captcha/image_captcha.module:162;201
-msgid "low"
-msgstr "basso"
-
-#: image_captcha/image_captcha.module:163
-msgid "moderate"
-msgstr "moderato"
-
-#: image_captcha/image_captcha.module:165;203
-msgid "high"
-msgstr "alto"
-
-#: image_captcha/image_captcha.module:166;204
-msgid "severe"
-msgstr "molto alto"
-
-#: image_captcha/image_captcha.module:169
-msgid "Set the degree of wave distortion in the image."
-msgstr "Imposta il livello di distorsione dell'immagine"
-
-#: image_captcha/image_captcha.module:173
-msgid "Smooth distortion"
-msgstr "Smussa angoli"
-
-#: image_captcha/image_captcha.module:175
-msgid "This option enables bilineair interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Questa opzione abilita l'interpolazione lineare della distorsione, che \
                smussa gli angoli dell'immagine. Richiede piu' CPU"
-
-#: image_captcha/image_captcha.module:180
-msgid "Double vision"
-msgstr "Doppia visione"
-
-#: image_captcha/image_captcha.module:182
-msgid "When enabled, characters appear twice in the image, overlayed onto each \
                other."
-msgstr "Quando abilitato, il carattere appare 2 volte, con un effetto ombra"
-
-#: image_captcha/image_captcha.module:187
-msgid "Add salt and peper noise"
-msgstr "Aggiungi disturbo sale e pepe"
-
-#: image_captcha/image_captcha.module:189
-msgid "This option adds randomly colored point noise."
-msgstr "Questa opzione aggiunge punti colorati casuali di disturbo"
-
-#: image_captcha/image_captcha.module:193
-msgid "Add line noise"
-msgstr "Aggiungi linee di disturbo"
-
-#: image_captcha/image_captcha.module:195
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Questa opzione abilita le linee casuali a disturbo del testo nell'immagine"
-
-#: image_captcha/image_captcha.module:199
-msgid "Noise level"
-msgstr "Livello del disturbo"
-
-#: image_captcha/image_captcha.module:216;233
-msgid "You need to select a font"
-msgstr "Seleziona un font"
-
-#: image_captcha/image_captcha.module:228
-msgid "The list of characters to use should not contain spaces."
-msgstr "La lista dei caratteri da usare non deve contenere spazi"
-
-#: image_captcha/image_captcha.module:236
-msgid "Font does not exist or is not readable."
-msgstr "Il font non esiste o non e' leggibile"
-
-#: image_captcha/image_captcha.module:265
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Errore nella divisione in caratteri della stringa utf8"
-
-#: image_captcha/image_captcha.module:311
-msgid "What code is in the image?"
-msgstr "Qual'e' il codice dell'immagine?"
-
-#: image_captcha/image_captcha.module:312
-msgid "Copy the characters (respecting upper/lower case) from the image."
-msgstr "Copiare i caratteri dell'immagine, rispettando minuscole/maiuscle"
-
-#: image_captcha/image_captcha.module:339
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "Creazione dell'immagine Captcha fallita. Verificare la configurazione del \
                modulo, in partcolare le impostazioni del  font"
-
-#: image_captcha/image_captcha.module:265;339;365
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: image_captcha/image_captcha.module:0
-msgid "image_captcha"
-msgstr "image_captcha"
-
-#: image_captcha/image_captcha.info:0
-msgid "Captcha module that implements image based captchas."
-msgstr "Modulo CAPTCHA che fornisce Immagini Testuali per Captcha"
-
-#: text_captcha/text_captcha.module:19
-msgid "This text based captcha presents a captcha phrase of a given number of words \
                and the visitor is asked to enter the n'th word."
-msgstr "Questo Captcha mostra delle frasi captcha composte di un certo numero di \
                parole.viene chiesto ai visitatori di inserirne una in particolare"
-
-#: text_captcha/text_captcha.module:33
-#: text_captcha/text_captcha.info:0
-msgid "Text captcha"
-msgstr "Testo CAPTCHA"
-
-#: text_captcha/text_captcha.module:51
-msgid "Kind of words to use in the captcha phrase"
-msgstr "Tipo di parole da usare nella frase Captcha"
-
-#: text_captcha/text_captcha.module:53
-msgid "Generate nonsense random words."
-msgstr "Genera parole a caso senza senso"
-
-#: text_captcha/text_captcha.module:54
-msgid "Use user defined words."
-msgstr "Usa parole definite dall'utente"
-
-#: text_captcha/text_captcha.module:61
-msgid "User defined words"
-msgstr "Parole definite dall'utente"
-
-#: text_captcha/text_captcha.module:63
-msgid "Enter a bunch of space separated words (at least @min)."
-msgstr "Inserisci alcune parole separate da spazio (almeno @min)."
-
-#: text_captcha/text_captcha.module:68
-msgid "Number of words in the captcha phrase"
-msgstr "Numero di parole nella frase Captcha"
-
-#: text_captcha/text_captcha.module:85
-msgid "You need to enter at least @min words if you want to use user defined words."
-msgstr "Inserisci almeno  @min parole per usare Captcha con parole definite \
                dall'utente"
-
-#: text_captcha/text_captcha.module:94
-msgid "Number of words in the captcha phrase should be between 4 and 10."
-msgstr "Il numero di parole della frase Captcha deve essere fra 4 e 10"
-
-#: text_captcha/text_captcha.module:146
-msgid "first"
-msgstr "prima"
-
-#: text_captcha/text_captcha.module:146
-msgid "second"
-msgstr "seconda"
-
-#: text_captcha/text_captcha.module:146
-msgid "third"
-msgstr "terza"
-
-#: text_captcha/text_captcha.module:147
-msgid "fourth"
-msgstr "quarta"
-
-#: text_captcha/text_captcha.module:147
-msgid "fifth"
-msgstr "quinta"
-
-#: text_captcha/text_captcha.module:147
-msgid "sixth"
-msgstr "sesta"
-
-#: text_captcha/text_captcha.module:147
-msgid "seventh"
-msgstr "settima"
-
-#: text_captcha/text_captcha.module:148
-msgid "eighth"
-msgstr "ottava"
-
-#: text_captcha/text_captcha.module:148
-msgid "ninth"
-msgstr "nona"
-
-#: text_captcha/text_captcha.module:148
-msgid "tenth"
-msgstr "decima"
-
-#: text_captcha/text_captcha.module:176
-msgid "What is the @nth word in the captcha phrase \"@words\"?"
-msgstr "Quale e' la @esimanth parola della frase captcha  \"@words\"?"
-
-#: text_captcha/text_captcha.module:0
-msgid "text_captcha"
-msgstr "text_capcha"
-
-#: text_captcha/text_captcha.info:0
-msgid "Captcha module that implements a simple text based captcha."
-msgstr "Modulo Captcha che fornisce un semplice captcha.testuale"
-
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/lt.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/lt.po deleted file \
mode 100644 index fb54e15..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/lt.po
+++ /dev/null
@@ -1,651 +0,0 @@
-# LANGUAGE translation of Drupal (captcha.module)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from file: captcha.module,v 1.24 2006/05/19 15:00:51 wundo
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: block-module5\n"
-"POT-Creation-Date: 2009-07-03 15:01+0200\n"
-"PO-Revision-Date: 2009-03-22 12:52+0300\n"
-"Last-Translator: Domas Jokubauskis <domasj@gmail.com>\n"
-"Language-Team: Domas Jokubauskis <domasj@gmail.com>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100! ? 0 : n%10>=2 && (n%100<10 || \
                n%100> ) ? 1 : 2;\n"
-"X-Poedit-Language: Lithuanian\n"
-"X-Poedit-Country: LITHUANIA\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: captcha.admin.inc:16 image_captcha/image_captcha.admin.inc:157;179
-msgid "none"
-msgstr "joks"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr ""
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr ""
-
-#: captcha.admin.inc:42
-msgid "Form protection"
-msgstr "Formos apsauga"
-
-#: captcha.admin.inc:43
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr "Pasirinkite jūsų norimą užduotį kiekvienai išvardintai formai \
(atpažįstamai pagal jos <em>form_id</em> identifikatorių). Jūs galite lengvai \
pridÄ—ti reikiamas formas naudodamiesi lentelÄ—s apaÄioje esanÄiu laukeliu arba \
                žemiau esanÄiu „%CAPTCHA_admin_links" nustatymu."
-
-#: captcha.admin.inc:44;108 captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Pridėti CAPTCHA užduoties administravimo nuorodas prie formų"
-
-#: captcha.admin.inc:49
-msgid "Default challenge type"
-msgstr ""
-
-#: captcha.admin.inc:50
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr ""
-
-#: captcha.admin.inc:86
-msgid "delete"
-msgstr "Å¡alinti"
-
-#: captcha.admin.inc:110
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:110 captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "administruoti CAPTCHA užduoÄių nustatymus"
-
-#: captcha.admin.inc:115
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr ""
-
-#: captcha.admin.inc:117
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr ""
-
-#: captcha.admin.inc:123
-msgid "Add a description to the CAPTCHA"
-msgstr ""
-
-#: captcha.admin.inc:124
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr ""
-
-#: captcha.admin.inc:132
-msgid "CAPTCHA description"
-msgstr ""
-
-#: captcha.admin.inc:133;149
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr ""
-
-#: captcha.admin.inc:139
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Kalba %lang_name (kodas %lang_code)"
-
-#: captcha.admin.inc:148
-msgid "Challenge description"
-msgstr "Užduoties aprašymas"
-
-#: captcha.admin.inc:159
-msgid "Default CAPTCHA validation"
-msgstr ""
-
-#: captcha.admin.inc:160
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr ""
-
-#: captcha.admin.inc:162
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr ""
-
-#: captcha.admin.inc:163
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr ""
-
-#: captcha.admin.inc:171
-msgid "Persistence"
-msgstr "Veikimas"
-
-#: captcha.admin.inc:174
-msgid "Always add a challenge."
-msgstr "Visuomet pridėti užduotį."
-
-#: captcha.admin.inc:175
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Nerodyti užduoties prie formos, kuomet naudotojas jau sėkmingai \
                išsprendė užduotį tai formai."
-
-#: captcha.admin.inc:176
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Nerodyti užduoÄių prie visų formų, kuomet naudotojas jau sÄ—kmingai \
                išsprendė užduotį."
-
-#: captcha.admin.inc:178
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Nurodykite, ar užduotys neturėtų būti rodomos likusį sesijos laiką, \
                jei naudotojas sėkmingai išsprendžia užduotį."
-
-#: captcha.admin.inc:184
-msgid "Log wrong responses"
-msgstr "Įrašyti neteisingus atsakymus"
-
-#: captcha.admin.inc:185
-msgid "Report information about wrong responses to the !log."
-msgstr "Pranešti apie neteisingus atsakymus !log."
-
-#: captcha.admin.inc:185
-msgid "log"
-msgstr "žurnale"
-
-#: captcha.admin.inc:192
-msgid "Save configuration"
-msgstr "Įrašyti konfigūraciją"
-
-#: captcha.admin.inc:202;342
-msgid "Challenge type"
-msgstr "Užduotis"
-
-#: captcha.admin.inc:202
-msgid "Operations"
-msgstr "Veiksmai"
-
-#: captcha.admin.inc:229;363
-msgid "Illegal form_id"
-msgstr "Negalimas form_id"
-
-#: captcha.admin.inc:255
-msgid "Added CAPTCHA point."
-msgstr "Kitų formų CAPTCHA užduotis pridėta."
-
-#: captcha.admin.inc:270
-msgid "Reset of CAPTCHA description for language %language."
-msgstr ""
-
-#: captcha.admin.inc:281
-msgid "Reset of CAPTCHA description."
-msgstr ""
-
-#: captcha.admin.inc:289
-msgid "The CAPTCHA settings were saved."
-msgstr "CAPTCHA užduoÄių nustatymai iÅ¡saugoti."
-
-#: captcha.admin.inc:321;335
-msgid "Form ID"
-msgstr "Formos ID"
-
-#: captcha.admin.inc:322;336
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Drupal form_id identifikatorius formos, prie kurios pridÄ—ti CAPTCHA \
                užduotį."
-
-#: captcha.admin.inc:343
-msgid "The CAPTCHA type to use for this form"
-msgstr "CAPTCHA užduotis, naudojama šiai formai"
-
-#: captcha.admin.inc:352
-msgid "Save"
-msgstr "Saugoti"
-
-#: captcha.admin.inc:375
-msgid "Saved CAPTCHA point settings."
-msgstr "Kitų formų CAPTCHA užduoÄių nustatymai iÅ¡saugoti."
-
-#: captcha.admin.inc:392
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Ar jūs esate įsitikinę, jog norite pašalinti CAPTCHA užduotį formai, \
                kurios ID yra %form_id?"
-
-#: captcha.admin.inc:393
-msgid "Delete"
-msgstr "Pašalinti"
-
-#: captcha.admin.inc:396
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Ar jūs esate įsitikinę, jog norite išjungti CAPTCHA užduotį formai, \
                kurios ID yra %form_id?"
-
-#: captcha.admin.inc:397
-msgid "Disable"
-msgstr "IÅ¡jungti"
-
-#: captcha.admin.inc:410
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "Pašalinta formos %form_id CAPTCHA užduotis."
-
-#: captcha.admin.inc:414
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "Išjungta formos %form_id CAPTCHA užduotis."
-
-#: captcha.admin.inc:451
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Šis puslapis leidžia peržvelgti visas galimas užduotis, sugeneruotas su \
                jų dabartiniais nustatymais."
-
-#: captcha.admin.inc:459
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Užduotis „%challenge", kurią suteikia modulis „%module""
-
-#: captcha.admin.inc:462
-msgid "10 more examples of this challenge."
-msgstr "10 papildomų šios užduoties pavyzdžių."
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr ""
-
-#: captcha.inc:145
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Šis klausimas yra skirtas įsitikinti, jog jūs esate žmogus, ir \
                sustabdyti automatinį šlamšto siuntimą."
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "„CAPTCHA" yra anglų k. akronimas šiam pavadininimui: „Completely \
Automated Public Turing test to tell Computers and Humans Apart". Jis reiškia \
visiškai automatizuotą viešą Turingo testą, skirtą nustatyti ar vartotojas yra \
kompiuteris ar žmogus. Dažniausiai tai yra užduotis-atsakymas testas, kuris \
nustato ar vartotojas yra žmogus. CAPTCHA užduoties modulis yra įrankis padedantis \
kovoti su automatiniais įrašais, kuriuos padaro blogų tikslų turintys naudotojai, \
komentarų, naudotojų registravimo, sveÄių knygos ir kitose formose. JÅ«s galite \
prie pasirinktų formų pridėti papildomą užduotį, kuri žmonėms turėtų būti \
lengvai teisingai išsprendžiama, bet pakankamai sudėtinga automatizuotiems \
                scenarijams ir šlamštą platinantiems botams."
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr ""
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr "Location of comment submission form"
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr "Rodyti atskirame puslapyje"
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA yra  Carnegie Mellon University prekinis ženklas."
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr ""
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr "praleisti CAPTCHA užduotį"
-
-#: (duplicate) captcha.module:269;322;119 ;222;442;60;71 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29;72
-#: image_captcha/image_captcha.module:94
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr ""
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Nepatikimi naudotojai Äia matys CAPTCHA užduotį (!settings)."
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr "bendri CAPTCHA užduoties nustatymai"
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr "Užduotis įjungta"
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr ""
-
-#: captcha.module:337
-msgid "change"
-msgstr "keisti"
-
-#: captcha.module:338
-msgid "disable"
-msgstr "išjungti"
-
-#: captcha.module:343 image_captcha/image_captcha.admin.inc:49
-msgid "Example"
-msgstr ""
-
-#: captcha.module:344
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr ""
-
-#: captcha.module:353
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA užduotis: nÄ—ra įjungtų užduoÄių"
-
-#: captcha.module:355
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Čia rodyti CAPTCHA užduotį nepatikimiems naudotojams."
-
-#: captcha.module:417
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr "CAPTCHA užduoties bandymas nepavyko (nežinomas csid)."
-
-#: captcha.module:437
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "Jūsų įvestas CAPTCHA užduoties atsakymas buvo neteisingas."
-
-#: captcha.module:524
-msgid "Math question"
-msgstr ""
-
-#: captcha.module:525
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Išspręskite šią paprastą matematinę užduotį ir įveskite atsakymą. \
                Pvz., jei užduotis yra 1+3, įveskite 4."
-
-#: captcha.module:526
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-#: captcha.module:545
-msgid "Test one two three"
-msgstr ""
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-
-#: captcha.module:442
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr "%form_id įrašas užblokuotas CAPTCHA modulio: užduotis „%challenge" \
(modulis „%module"), naudotojas atsakė „%response", bet sprendimas buvo \
                „%solution"."
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] ""
-msgstr[1] ""
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Nustatykite kur ir kada naudoti CAPTCHA užduotis."
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Bendri nustatymai"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Pavyzdžiai"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr "Galimų užduoÄių su pavyzdžiais apžvalga."
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr "Kitų formų CAPTCHA užduoÄių administravimas"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Nepalaikoma duomenų bazė."
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "Dabar jūs galite <a href=\"!captcha_admin\">sukonfigūruoti CAPTCHA \
                užduoties modulį</a> savo svetainei."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Pagrindinis CAPTCHA užduoties modulis, leidžiantis pridėti užduotis prie \
                pasirinktų formų."
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Šlamšto kontrolė"
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr "Vidinis Å¡riftas"
-
-#: image_captcha/image_captcha.admin.inc:39
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a>)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:50
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:61
-msgid "Code settings"
-msgstr "Kodo nustatymai"
-
-#: image_captcha/image_captcha.admin.inc:65
-msgid "Characters to use in the code"
-msgstr "Kode naudojami rašmenys"
-
-#: image_captcha/image_captcha.admin.inc:70
-msgid "Code length"
-msgstr "Kodo ilgis"
-
-#: image_captcha/image_captcha.admin.inc:73
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "Kodo ilgis daro įtaką paveikslėlio dydžiui. Reikia pastebėti, kad \
                didesnės reikšmės reiškia daugiau darbo procesoriui generuojant \
                paveikslÄ—lius."
-
-#: image_captcha/image_captcha.admin.inc:79
-msgid "Font settings"
-msgstr "Å rifto nustatymai"
-
-#: image_captcha/image_captcha.admin.inc:85
-msgid "Font"
-msgstr "Å riftas"
-
-#: image_captcha/image_captcha.admin.inc:87
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr "TrueType Å¡riftas (.ttf), naudojamas tekstui vaizdinÄ—je CAPTCHA \
                užduotyje."
-
-#: image_captcha/image_captcha.admin.inc:96
-msgid "Font size"
-msgstr "Å rifto dydis"
-
-#: image_captcha/image_captcha.admin.inc:98
-msgid "tiny"
-msgstr "mažytis"
-
-#: image_captcha/image_captcha.admin.inc:99;158
-msgid "small"
-msgstr "mažas"
-
-#: image_captcha/image_captcha.admin.inc:101;125;185
-msgid "normal"
-msgstr "normalus"
-
-#: image_captcha/image_captcha.admin.inc:103
-msgid "large"
-msgstr "didelis"
-
-#: image_captcha/image_captcha.admin.inc:105
-msgid "extra large"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:108
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Šrifto dydis daro įtaką paveikslėlio dydžiui. Reikia pastebėti, kad \
                didesnis paveikslėlis reiškia daugiau darbo procesoriui generuojant \
                jį."
-
-#: image_captcha/image_captcha.admin.inc:120
-msgid "Character spacing"
-msgstr "Tarpų plotis tarp simbolių"
-
-#: image_captcha/image_captcha.admin.inc:121
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr "Nustatykite vidutinį tarpą tarp simbolių. Reikia pastebėti, kad didesnis \
                paveikslėlis reiškia daugiau darbo procesoriui generuojant jį."
-
-#: image_captcha/image_captcha.admin.inc:124
-msgid "tight"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "wide"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:127
-msgid "extra wide"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Color settings"
-msgstr "Spalvų nustatymai"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr "Fono ir teksto spalvų vaizdinėje CAPTCHA užduotyje konfigūravimas."
-
-#: image_captcha/image_captcha.admin.inc:139
-msgid "Background color"
-msgstr "Fono spalva"
-
-#: image_captcha/image_captcha.admin.inc:140
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90)."
-msgstr "Įveskite šešioliktainį fono spalvos kodą, pvz., #FFF ar #FFCE90."
-
-#: image_captcha/image_captcha.admin.inc:147
-msgid "Text color"
-msgstr "Teksto"
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Įveskite šešioliktainį teksto spalvos kodą, pvz., #000 ar #004283."
-
-#: image_captcha/image_captcha.admin.inc:155
-msgid "Additional variation of text color"
-msgstr "Papildomas teksto spalvos variavimas"
-
-#: image_captcha/image_captcha.admin.inc:159;183
-msgid "moderate"
-msgstr "vidutinis"
-
-#: image_captcha/image_captcha.admin.inc:160;187;221
-msgid "high"
-msgstr "aukštas"
-
-#: image_captcha/image_captcha.admin.inc:161
-msgid "very high"
-msgstr "labai aukštas"
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "Skirtingi simboliai turės atsitiktines spalvas, parenkamas iš panašių į \
                nurodytÄ… teksto spalvÄ…."
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "Distortion and noise"
-msgstr "Iškraipymas ir triukšmas"
-
-#: image_captcha/image_captcha.admin.inc:172
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr "Šiuo nustatymu jūs galite valdyti apgadinimo lygį iškraipant ir \
pridedant triukšmą. Nepersistenkite su apgadinimu ir įsitikinkite, kad kodas yra \
                perskaitomas. Pvz., kartu nenaudokite aukštų iškraipymo ir \
                triukšmo lygių."
-
-#: image_captcha/image_captcha.admin.inc:177
-msgid "Distortion level"
-msgstr "IÅ¡kraipymo lygis"
-
-#: image_captcha/image_captcha.admin.inc:181;217
-msgid "low"
-msgstr "žemas"
-
-#: image_captcha/image_captcha.admin.inc:189;223
-msgid "severe"
-msgstr "milžiniškas"
-
-#: image_captcha/image_captcha.admin.inc:192
-msgid "Set the degree of wave distortion in the image."
-msgstr "Nustatykite paveikslėlio iškraipymo bangelėmis lygį."
-
-#: image_captcha/image_captcha.admin.inc:196
-msgid "Smooth distortion"
-msgstr "Išlyginimo iškraipymas"
-
-#: image_captcha/image_captcha.admin.inc:198
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Šis nustatymas įjungia „bilinear" iškraipymų interpoliaciją. Tai \
                paveikslėlį daro glotnesnį, bet labiau apkrauna procesorių"
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "Add salt and pepper noise"
-msgstr "Druskos ir pipirų triukšmas"
-
-#: image_captcha/image_captcha.admin.inc:205
-msgid "This option adds randomly colored point noise."
-msgstr "Šis nustatymas prideda atsitiktinės spalvos taškinį triukšmą."
-
-#: image_captcha/image_captcha.admin.inc:209
-msgid "Add line noise"
-msgstr "Linijinis triukšmas"
-
-#: image_captcha/image_captcha.admin.inc:211
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Šis nustatymas įjungia ant tekstinio kodo atsitiktinai piešiamas \
                linijas."
-
-#: image_captcha/image_captcha.admin.inc:215
-msgid "Noise level"
-msgstr "Triukšmo lygis"
-
-#: image_captcha/image_captcha.admin.inc:219
-msgid "medium"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:240
-msgid "The Image CAPTCHA module can not use True Type fonts because your PHP setup \
                does not support it. There is only a built-in bitmap font available."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:245
-msgid "The image CAPTCHA module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image CAPTCHA module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr "Vaizdinės CAPTCHA užduoties modulis geriausiai veikia su su TrueType \
šriftų failais (TTF) paveikslėlių generavimui, bet dėl licencijavimo ypatybių \
negalima šriftų platinti kartu su moduliu. Vietoje to paprastas taškinės grafikos \
šriftas yra pridedamas kaip numatytas. Jūs patys galite įdiegti TrueType šriftus \
padėdami juos vaizdinės CAPTCHA užduoties modulio šriftų aplanke „%fontsdir" \
arba atsiųsdami juos į jūsų Drupal failų sistemos aplanką „%filesdir" \
                pasinaudojÄ™ atsiuntimo moduliu."
-
-#: image_captcha/image_captcha.admin.inc:248
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr "Nerekomenduojama naudoti pateikiamą taškinės grafikos šriftą dėl jo \
                mažo dydžio ir UTF-8 nepalaikymo."
-
-#: image_captcha/image_captcha.admin.inc:259
-msgid "The list of characters to use should not contain spaces."
-msgstr "Rašmenų sąraše neturi būti tarpų."
-
-#: image_captcha/image_captcha.admin.inc:264
-msgid "You need to select a font"
-msgstr "JÅ«s turite pasirinkti Å¡riftÄ…"
-
-#: image_captcha/image_captcha.admin.inc:267
-msgid "Font does not exist or is not readable."
-msgstr "Å riftas neegzistuoja ar yra neperskaitomas."
-
-#: image_captcha/image_captcha.admin.inc:272
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Fono spalva nėra galima šešioliktainė spalvos vertė."
-
-#: image_captcha/image_captcha.admin.inc:275
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Teksto spalva nėra galima šešioliktainė spalvos vertė."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr "Vaizdinės CAPTCHA užduoties generavimas nepavyko. Patikrinkite savo \
vaizdinės CAPTCHA užduoties konfigūraciją, atkreipkite dėmesį į naudojamus \
                Å¡riftus."
-
-#: image_captcha/image_captcha.user.inc:72
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.module:28
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr "Vaizdinė CAPTCHA užduotis, kur atsitiktinis tekstinis kodas yra \
apgadinamas paveikslÄ—lyje, yra labai plaÄiai naudojama. PaveikslÄ—lis yra \
sugeneruojamas kiekvienai užklausai, dėl to tai gana stipriai apkrauna serverio \
                procesorių. BÅ«kite atsargÅ«s su dydžio ir skaiÄiavimų \
                nustatymais."
-
-#: image_captcha/image_captcha.module:166
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Ä®veskite paveikslÄ—lyje esanÄius simbolius. Tarpų nepaisykite ir bÅ«kite \
                atidūs su didžiosiomis ir mažosiomis raidėmis."
-
-#: image_captcha/image_captcha.module:169
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Ä®veskite paveikslÄ—lyje esanÄius simbolius be tarpų."
-
-#: image_captcha/image_captcha.module:179;179;40
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "Vaizdinė CAPTCHA užduotis"
-
-#: image_captcha/image_captcha.module:184
-msgid "What code is in the image?"
-msgstr "Koks kodas yra paveikslÄ—lyje?"
-
-#: image_captcha/image_captcha.module:94
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "Prieitas negalimas baitas dalijant UTF8 simbolių eilutę į simbolius."
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Suteikia vaizdinę CAPTCHA užduotį."
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/nl.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/nl.po deleted file \
mode 100644 index 0ce8a10..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/nl.po
+++ /dev/null
@@ -1,658 +0,0 @@
-# $Id: nl.po,v 1.8 2009/07/11 17:30:39 soxofaan Exp $
-#
-# Dutch translation of Drupal (general)
-# Copyright 2009 Stefaan Lippens
-# Generated from files:
-#  captcha.admin.inc,v 1.20 2009/04/27 20:35:08 soxofaan
-#  image_captcha.admin.inc,v 1.17 2009/04/24 22:16:48 soxofaan
-#  captcha.module,v 1.83 2009/04/27 20:35:08 soxofaan
-#  captcha.inc,v 1.1 2009/04/07 22:06:50 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.19 2009/04/24 22:16:48 soxofaan
-#  image_captcha.module,v 1.22 2009/04/15 01:41:35 soxofaan
-#  captcha.install,v 1.9 2009/03/22 20:06:39 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-msgid ""
-msgstr ""
-"Project-Id-Version: nl\n"
-"POT-Creation-Date: 2009-07-03 15:01+0200\n"
-"PO-Revision-Date: 2009-04-28 00:26+0100\n"
-"Last-Translator: soxofaan\n"
-"Language-Team: Dutch\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-#: captcha.admin.inc:16 image_captcha/image_captcha.admin.inc:157;179
-msgid "none"
-msgstr "geen"
-
-#: captcha.admin.inc:17
-msgid "default challenge type"
-msgstr "standaard CAPTCHA-type"
-
-#: captcha.admin.inc:23
-msgid "@type (from module @module)"
-msgstr ""
-
-#: captcha.admin.inc:42
-msgid "Form protection"
-msgstr "Formulierbescherming"
-
-#: captcha.admin.inc:43
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with \
textfield at the bottom of the table or with the help of the '%CAPTCHA_admin_links' \
                option below."
-msgstr ""
-
-#: captcha.admin.inc:44;108 captcha.module:46
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Voeg CAPTCHA-configuratielinks toe aan de formulieren."
-
-#: captcha.admin.inc:49
-msgid "Default challenge type"
-msgstr "Standaard CAPTCHA-type"
-
-#: captcha.admin.inc:50
-msgid "Select the default challenge type for CAPTCHAs. This can be overriden for \
                each form if desired."
-msgstr ""
-
-#: captcha.admin.inc:86
-msgid "delete"
-msgstr "verwijderen"
-
-#: captcha.admin.inc:110
-msgid "This option makes it easy to manage CAPTCHA settings on forms. When enabled, \
users with the \"%admincaptcha\" permission will see a fieldset with CAPTCHA \
                administration links on all forms, except on administrative pages."
-msgstr "Deze optie is handig om CAPTCHA's te beheren op formulieren. Wanneer deze \
optie ingeschakeld is, zien gebruikers met de \"%admincaptcha\" permissie de \
CAPTCHA-configuratielinks op alle formulieren, met uitzondering van de \
                beheerpagina's."
-
-#: captcha.admin.inc:110 captcha.module:107
-msgid "administer CAPTCHA settings"
-msgstr "CAPTCHA-instellingen beheren"
-
-#: captcha.admin.inc:115
-msgid "Allow CAPTCHAs and CAPTCHA administration links on administrative pages"
-msgstr "Laat CAPTCHA's en CAPTCHA-configuratielinks toe op beheerspagina's."
-
-#: captcha.admin.inc:117
-msgid "This option makes it possible to add CAPTCHAs to forms on administrative \
pages. CAPTCHAs are disabled by default on administrative pages (which shouldn't be \
accessible to untrusted users normally) to avoid the related overhead. In some \
situations, e.g. in the case of demo sites, it can be usefull to allow CAPTCHAs on \
                administrative pages."
-msgstr "Deze optie maakt het mogelijk om CAPTCHA's toe te voegen aan formulieren op \
beheerspagina's. CAPTCHA's zijn standaard afwezig op beheerspagina's (die normaal \
gezien niet toegankelijk zijn voor onbetrouwbare bezoekers) om de gerelateerde \
overhead te vermijden. In sommige situaties, zoals bij demo-websites kan het nuttig \
                zijn om CAPTCHA's toe te laten op beheerspagina's."
-
-#: captcha.admin.inc:123
-msgid "Add a description to the CAPTCHA"
-msgstr "Een beschrijving toevoegen aan de CAPTCHA"
-
-#: captcha.admin.inc:124
-msgid "Add a configurable description to explain the purpose of the CAPTCHA to the \
                visitor."
-msgstr "Voeg een instelbare beschrijving toe om de bedoeling van de CAPTCHA uit te \
                leggen aan de bezoeker."
-
-#: captcha.admin.inc:132
-msgid "CAPTCHA description"
-msgstr "CAPTCHA-beschrijving"
-
-#: captcha.admin.inc:133;149
-msgid "Configurable description of the CAPTCHA. An empty entry will reset the \
                description."
-msgstr ""
-
-#: captcha.admin.inc:139
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Voor taal %lang_name (code %lang_code)"
-
-#: captcha.admin.inc:148
-msgid "Challenge description"
-msgstr "CAPTCHA-beschrijving"
-
-#: captcha.admin.inc:159
-msgid "Default CAPTCHA validation"
-msgstr "Standaard CAPTCHA-validatie"
-
-#: captcha.admin.inc:160
-msgid "Define how the response should be processed by default. Note that the modules \
                that provide the actual challenges can override or ignore this."
-msgstr ""
-
-#: captcha.admin.inc:162
-msgid "Case sensitive validation: the response has to exactly match the solution."
-msgstr ""
-
-#: captcha.admin.inc:163
-msgid "Case insensitive validation: lowercase/uppercase errors are ignored."
-msgstr ""
-
-#: captcha.admin.inc:171
-msgid "Persistence"
-msgstr "CAPTCHA-volharding"
-
-#: captcha.admin.inc:174
-msgid "Always add a challenge."
-msgstr "Steeds een CAPTCHA voorschotelen."
-
-#: captcha.admin.inc:175
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "CAPTCHA achterwege laten eens de gebruiker een CAPTCHA juist beantwoorde \
                voor het formulier."
-
-#: captcha.admin.inc:176
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "CAPTCHA achterwege laten eens de gebruiker een CAPTCHA juist beantwoorde \
                ergens op de site."
-
-#: captcha.admin.inc:178
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr ""
-
-#: captcha.admin.inc:184
-msgid "Log wrong responses"
-msgstr "Hou foute anwoorden bij"
-
-#: captcha.admin.inc:185
-msgid "Report information about wrong responses to the !log."
-msgstr "Informatie omtrent foute CAPTCHA-antwoorden worden bijgehouden in het !log."
-
-#: captcha.admin.inc:185
-msgid "log"
-msgstr "log"
-
-#: captcha.admin.inc:192
-msgid "Save configuration"
-msgstr ""
-
-#: captcha.admin.inc:202;342
-msgid "Challenge type"
-msgstr "CAPTCHA-type"
-
-#: captcha.admin.inc:202
-msgid "Operations"
-msgstr "Bewerkingen"
-
-#: captcha.admin.inc:229;363
-msgid "Illegal form_id"
-msgstr "Ongeldig form_id"
-
-#: captcha.admin.inc:255
-msgid "Added CAPTCHA point."
-msgstr "CAPTCHA point instellingen zijn bewaard."
-
-#: captcha.admin.inc:270
-msgid "Reset of CAPTCHA description for language %language."
-msgstr ""
-
-#: captcha.admin.inc:281
-msgid "Reset of CAPTCHA description."
-msgstr ""
-
-#: captcha.admin.inc:289
-msgid "The CAPTCHA settings were saved."
-msgstr "De CAPTCHA-instellingen werden opgeslagen."
-
-#: captcha.admin.inc:321;335
-msgid "Form ID"
-msgstr "Form ID"
-
-#: captcha.admin.inc:322;336
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Het Drupal form_id van het formulier waaraan de CAPTCHA toegevoegd moet \
                worden."
-
-#: captcha.admin.inc:343
-msgid "The CAPTCHA type to use for this form"
-msgstr "Het CAPTCHA-type te gebruiken voor dit formulier"
-
-#: captcha.admin.inc:352
-msgid "Save"
-msgstr "Bewaren"
-
-#: captcha.admin.inc:375
-msgid "Saved CAPTCHA point settings."
-msgstr "CAPTCHA-point-instellingen zijn bewaard."
-
-#: captcha.admin.inc:392
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Bent u zeker dat u de CAPTCHA voor het formulier met form_id %form_id wilt \
                verwijderen?"
-
-#: captcha.admin.inc:393
-msgid "Delete"
-msgstr "Verwijderen"
-
-#: captcha.admin.inc:396
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Bent u zeker dat u de CAPTCHA voor het formulier met form_id %form_id wilt \
                uitschakelen?"
-
-#: captcha.admin.inc:397
-msgid "Disable"
-msgstr "Uitschakelen"
-
-#: captcha.admin.inc:410
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "CAPTCHA verwijderd voor formulier %form_id."
-
-#: captcha.admin.inc:414
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "CAPTCHA uitgeschakeld voor formulier %form_id."
-
-#: captcha.admin.inc:451
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Deze pagina geeft een overzicht van de beschikbare CAPTCHA types, \
                gegenereerd met hun huidige instellingen."
-
-#: captcha.admin.inc:459
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Uitdaging \"%challenge\" van module \"%module\""
-
-#: captcha.admin.inc:462
-msgid "10 more examples of this challenge."
-msgstr "10 extra voorbeelden van deze uitdaging."
-
-#: captcha.inc:38
-msgid "Failed to set a CAPTCHA type for form %form_id: could not interpret value \
                \"@captcha_type\""
-msgstr ""
-
-#: captcha.inc:145
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Deze vraag wordt gebruikt om te testen indien u een menselijke bezoeker bent \
                teneinde spam-inzendingen te vermijden."
-
-#: captcha.module:31
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr ""
-
-#: captcha.module:32
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr ""
-
-#: captcha.module:35
-msgid "Location of comment submission form"
-msgstr ""
-
-#: captcha.module:36
-msgid "Display on separate page"
-msgstr ""
-
-#: captcha.module:40
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA is een trademark van Carnegie Mellon University."
-
-#: captcha.module:45
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr "Een CAPTCHA kan toegevoegd worden aan zowat elk Drupal formulier. Sommige \
standaard formulieren zijn reeds beschikbaar in de formulier-lijst, maar willekeurige \
formulieren kunnen eenvoudig toegevoegd en beheerd worden indien de optie \
                \"%adminlinks\" actief is."
-
-#: captcha.module:47
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr "Gebruikers met de \"%skipcaptcha\" <a href=\"@perm\">permissie</a> krijgen \
geen CAPTCHA voorgeschoteld. Verleen deze permissie aan de betrouwbare gebruikers \
(b.v websitebeheerders). Indien u de CAPTCHA's wil testen, doe het dan als gebruiker \
                zonder de \"%skipcaptcha\" permissie (b.v. als anonyme gebruiker)."
-
-#: captcha.module:48;107
-msgid "skip CAPTCHA"
-msgstr "CAPTCHA overslaan"
-
-#: (duplicate) captcha.module:269;322;119 ;222;442;60;71 captcha.info:0
-#: image_captcha/image_captcha.user.inc:29;72
-#: image_captcha/image_captcha.module:94
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.module:327
-msgid "CAPTCHA: challenge \"@type\" enabled"
-msgstr "CAPTCHA: beschermd met uitdaging \"@type\""
-
-#: captcha.module:328
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr "Onbetrouwbare gebruikers zien hier een CAPTCHA (!settings)."
-
-#: captcha.module:329
-msgid "general CAPTCHA settings"
-msgstr "algemene CAPTCHA instellingen"
-
-#: captcha.module:333
-msgid "Enabled challenge"
-msgstr "Ingeschakkelde uitdaging:"
-
-#: captcha.module:334
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr "\"@type\" door module \"@module\" (!change, !disable)"
-
-#: captcha.module:337
-msgid "change"
-msgstr "wijzigen"
-
-#: captcha.module:338
-msgid "disable"
-msgstr "uitschakelen"
-
-#: captcha.module:343 image_captcha/image_captcha.admin.inc:49
-msgid "Example"
-msgstr "Voorbeeld"
-
-#: captcha.module:344
-msgid "This is a pre-solved, non-blocking example of this challenge."
-msgstr "Dit is een op voorhand opgelost en niet blokkerend voorbeeld van deze \
                uitdaging."
-
-#: captcha.module:353
-msgid "CAPTCHA: no challenge enabled"
-msgstr "CAPTCHA: geen uitdaging"
-
-#: captcha.module:355
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "CAPTCHA plaatsen voor onbetrouwbare gebruikers."
-
-#: captcha.module:417
-msgid "CAPTCHA test failed (unknown csid)."
-msgstr "CAPTCHA-test faalde (ongekende csid)."
-
-#: captcha.module:437
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "Het antwoord dat u opgaf voor de CAPTCHA was niet juist."
-
-#: captcha.module:524
-msgid "Math question"
-msgstr "Wiskunde vraag"
-
-#: captcha.module:525
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Los deze eenvoudige rekenoefening op en voer het resultaat in. Bijvoorbeeld: \
                voor 1+3, voer 4 in."
-
-#: captcha.module:526
-msgid "@x + @y = "
-msgstr ""
-
-#: captcha.module:545
-msgid "Test one two three"
-msgstr ""
-
-#: captcha.module:222
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr "CAPTCHA probleem: Bij het opvragen van CAPTCHA type %type voor het fomulier \
                %form_id, gaf hook_captcha() van de module %module geen waarde \
                terug."
-
-#: captcha.module:442
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr ""
-
-#: captcha.module:120
-msgid "Already 1 blocked form submission"
-msgid_plural "Already @count blocked form submissions"
-msgstr[0] "Reeds 1 tegengehouden formulierinzending"
-msgstr[1] "Reeds @counter tegengehouden formulierinzendingen"
-
-#: captcha.module:61
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "Configureer hoe en waar CAPTCHA's gebruikt worden."
-
-#: captcha.module:77
-msgid "General settings"
-msgstr "Algemene instellingen"
-
-#: captcha.module:83
-msgid "Examples"
-msgstr "Voorbeelden"
-
-#: captcha.module:84
-msgid "An overview of the available challenge types with examples."
-msgstr "Overzicht van de beschikbare CAPTCHA-types met voorbeelden."
-
-#: captcha.module:93
-msgid "CAPTCHA point administration"
-msgstr "CAPTCHA-point-beheer"
-
-#: captcha.install:156
-msgid "Unsupported database."
-msgstr "Databank type is niet ondersteund."
-
-#: (duplicate) captcha.install:115
-msgid "You can now <a href=\"!captcha_admin\">configure the CAPTCHA module</a> for \
                your site."
-msgstr "U kan nu <a href=\"!captcha_admin\">de CAPTCHA module instellen</a> voor uw \
                site."
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr "Basis CAPTCHA module om uitdagingen aan allerlei formulieren toe te voegen."
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr "Spamcontrole"
-
-#: image_captcha/image_captcha.admin.inc:13
-msgid "Built-in font"
-msgstr "Ingebouwd lettertype"
-
-#: image_captcha/image_captcha.admin.inc:39
-msgid "The Image CAPTCHA module can not generate images because your PHP setup does \
                not support it (no <a href=\"!gdlib\">GD library</a>)."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:50
-msgid "Presolved image CAPTCHA example, generated with the current settings."
-msgstr "Reeds opgeloste afbeelding-CAPTCHA, gegenereerd met de huidige \
                instellingen:"
-
-#: image_captcha/image_captcha.admin.inc:61
-msgid "Code settings"
-msgstr "Code-instellingen"
-
-#: image_captcha/image_captcha.admin.inc:65
-msgid "Characters to use in the code"
-msgstr "Karakters die in de afbeelding kunnen verschijnen"
-
-#: image_captcha/image_captcha.admin.inc:70
-msgid "Code length"
-msgstr "Codelengte"
-
-#: image_captcha/image_captcha.admin.inc:73
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr "De code lengte be&iuml;nvloedt de afmetingen van de afbeelding. Hou er \
rekening mee dat grotere waarden het genereren van de afbeeldingen CPU-intensiever \
                maakt."
-
-#: image_captcha/image_captcha.admin.inc:79
-msgid "Font settings"
-msgstr "Lettertype-instellingen"
-
-#: image_captcha/image_captcha.admin.inc:85
-msgid "Font"
-msgstr "Lettertype"
-
-#: image_captcha/image_captcha.admin.inc:87
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr "Het TrueType font (.ttf) te gebruiken vor de afbeelding-CAPTCHA"
-
-#: image_captcha/image_captcha.admin.inc:96
-msgid "Font size"
-msgstr "Lettertypegrootte"
-
-#: image_captcha/image_captcha.admin.inc:98
-msgid "tiny"
-msgstr "zeer klein"
-
-#: image_captcha/image_captcha.admin.inc:99;158
-msgid "small"
-msgstr "klein"
-
-#: image_captcha/image_captcha.admin.inc:101;125;185
-msgid "normal"
-msgstr "normaal"
-
-#: image_captcha/image_captcha.admin.inc:103
-msgid "large"
-msgstr "groot"
-
-#: image_captcha/image_captcha.admin.inc:105
-msgid "extra large"
-msgstr "extra groot"
-
-#: image_captcha/image_captcha.admin.inc:108
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:120
-msgid "Character spacing"
-msgstr "Karakter spati&euml;ring"
-
-#: image_captcha/image_captcha.admin.inc:121
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:124
-msgid "tight"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:126
-msgid "wide"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:127
-msgid "extra wide"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:134
-msgid "Color settings"
-msgstr "Kleurinstellingen"
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "Configuration of the background and text colors in the image CAPTCHA."
-msgstr "Configuratie van de achtergrond- en tekstkleuren in de beeld-CAPTCHA."
-
-#: image_captcha/image_captcha.admin.inc:139
-msgid "Background color"
-msgstr "Achtergrondkleur"
-
-#: image_captcha/image_captcha.admin.inc:140
-msgid "Enter the hexadecimal code for the background color (e.g. #FFF or #FFCE90)."
-msgstr "Geef de hexadecimale code op voor de achtergrondkleur (e.g. #FFF of \
                #FFCE90)."
-
-#: image_captcha/image_captcha.admin.inc:147
-msgid "Text color"
-msgstr "Tekstkleur"
-
-#: image_captcha/image_captcha.admin.inc:148
-msgid "Enter the hexadecimal code for the text color (e.g. #000 or #004283)."
-msgstr "Geed de hexadecimale code op voor de tekstkleur (e.g. #000 of #004283)."
-
-#: image_captcha/image_captcha.admin.inc:155
-msgid "Additional variation of text color"
-msgstr "Bijkomende varitatie op de tekstkleur"
-
-#: image_captcha/image_captcha.admin.inc:159;183
-msgid "moderate"
-msgstr "matig"
-
-#: image_captcha/image_captcha.admin.inc:160;187;221
-msgid "high"
-msgstr "hoog"
-
-#: image_captcha/image_captcha.admin.inc:161
-msgid "very high"
-msgstr "zeer hoog"
-
-#: image_captcha/image_captcha.admin.inc:164
-msgid "The different characters will have randomized colors in the specified range \
                around the text color."
-msgstr "De verschillende karakters zullen een willekeurig kleur hebben in het \
                opgegeven bereik rond de tekstkleur."
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "Distortion and noise"
-msgstr "Vervorming en ruis"
-
-#: image_captcha/image_captcha.admin.inc:172
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:177
-msgid "Distortion level"
-msgstr "Vervormingsniveau"
-
-#: image_captcha/image_captcha.admin.inc:181;217
-msgid "low"
-msgstr "laag"
-
-#: image_captcha/image_captcha.admin.inc:189;223
-msgid "severe"
-msgstr "ernstig"
-
-#: image_captcha/image_captcha.admin.inc:192
-msgid "Set the degree of wave distortion in the image."
-msgstr "Stel de graad van golfverorming van het beeld in."
-
-#: image_captcha/image_captcha.admin.inc:196
-msgid "Smooth distortion"
-msgstr "Vloeiende vervorming"
-
-#: image_captcha/image_captcha.admin.inc:198
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:203
-msgid "Add salt and pepper noise"
-msgstr "Zout- en peperruis toevoegen"
-
-#: image_captcha/image_captcha.admin.inc:205
-msgid "This option adds randomly colored point noise."
-msgstr "Deze optie voegt lukraak gekleurde puntruis toe."
-
-#: image_captcha/image_captcha.admin.inc:209
-msgid "Add line noise"
-msgstr "Lijn-ruis toevoegen"
-
-#: image_captcha/image_captcha.admin.inc:211
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Deze optie voegt lukraak getekende lijnen toe."
-
-#: image_captcha/image_captcha.admin.inc:215
-msgid "Noise level"
-msgstr "Ruisniveau"
-
-#: image_captcha/image_captcha.admin.inc:219
-msgid "medium"
-msgstr "medium"
-
-#: image_captcha/image_captcha.admin.inc:240
-msgid "The Image CAPTCHA module can not use True Type fonts because your PHP setup \
                does not support it. There is only a built-in bitmap font available."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:245
-msgid "The image CAPTCHA module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image CAPTCHA module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:248
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:259
-msgid "The list of characters to use should not contain spaces."
-msgstr "De karakterlijst mag geen spaties bevatten."
-
-#: image_captcha/image_captcha.admin.inc:264
-msgid "You need to select a font"
-msgstr "U dient een lettertype te selecteren"
-
-#: image_captcha/image_captcha.admin.inc:267
-msgid "Font does not exist or is not readable."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:272
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Achtergrondkleur is geen geldige hexadecimale kleurwaarde."
-
-#: image_captcha/image_captcha.admin.inc:275
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Tekstkleur is geen geldige hexadecimale kleurwaarde."
-
-#: image_captcha/image_captcha.user.inc:29
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr ""
-
-#: image_captcha/image_captcha.user.inc:72
-msgid "Could not find or read the configured font (\"%font\") for the image \
                CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.module:28
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr ""
-
-#: image_captcha/image_captcha.module:166
-msgid "Enter the characters shown in the image. Ignore spaces and be careful about \
                upper and lower case."
-msgstr "Vul de letters in uit de afbeelding. Negeer spaties en let op het gebruik \
                van hoofdletters."
-
-#: image_captcha/image_captcha.module:169
-msgid "Enter the characters (without spaces) shown in the image."
-msgstr "Vul de letters in uit de afbeelding (zonder spaties)."
-
-#: image_captcha/image_captcha.module:179;179;40
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr "Beeld-CAPTCHA"
-
-#: image_captcha/image_captcha.module:184
-msgid "What code is in the image?"
-msgstr "Welke code staat in de afbeelding?"
-
-#: image_captcha/image_captcha.module:94
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr ""
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr "Voorziet een afbeelding gebaseerde CAPTCHA"
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/pl.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/pl.po deleted file \
mode 100644 index 60d0290..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/pl.po
+++ /dev/null
@@ -1,510 +0,0 @@
-# $Id: pl.po,v 1.2 2009/07/17 17:50:03 soxofaan Exp $
-#
-# LANGUAGE translation of Drupal (general)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  captcha.admin.inc,v 1.9 2008/03/08 04:27:12 soxofaan
-#  image_captcha.admin.inc,v 1.5 2008/02/17 12:49:24 soxofaan
-#  captcha.module,v 1.65 2008/03/08 04:27:12 soxofaan
-#  captcha.pages.inc,v 1.2 2008/03/08 04:27:12 soxofaan
-#  captcha.info,v 1.7 2008/02/17 12:49:24 soxofaan
-#  image_captcha.user.inc,v 1.5 2008/02/17 12:49:24 soxofaan
-#  image_captcha.module,v 1.10 2008/02/17 12:49:24 soxofaan
-#  captcha.install,v 1.6 2008/02/17 18:35:25 soxofaan
-#  image_captcha.info,v 1.5 2008/02/17 12:49:24 soxofaan
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2008-03-08 06:39+0100\n"
-"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
-"Last-Translator: Sergiusz Pawłowicz <sergiusz@pawlowicz.name>\n"
-"Language-Team: Polish <sergiusz@pawlowicz.name>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || \
                n%100> ) ? 1 : 2);\n"
-
-#: captcha.admin.inc:13 image_captcha/image_captcha.admin.inc:101
-msgid "none"
-msgstr "-"
-
-#: captcha.admin.inc:32;42 captcha.module:39
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Dodaj linki CAPTCHA do formularzy"
-
-#: captcha.admin.inc:34
-msgid "This option is very helpful to enable/disable challenges on forms. When \
enabled, users with the \"%admincaptcha\" permission will see CAPTCHA administration \
links on all forms (except on administrative pages, which shouldn't be accessible to \
untrusted users in the first place). These links make it possible to enable a \
                challenge of the desired type or disable it."
-msgstr ""
-
-#: captcha.admin.inc:39
-msgid "Challenge type per form"
-msgstr ""
-
-#: captcha.admin.inc:41
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with the \
help of the '%CAPTCHA_admin_links' option or the <a href=\"!add_captcha_point\">the \
                CAPTCHA point form</a>."
-msgstr ""
-
-#: captcha.admin.inc:65
-msgid "delete"
-msgstr ""
-
-#: captcha.admin.inc:74;89
-msgid "Challenge description"
-msgstr ""
-
-#: captcha.admin.inc:75;90
-msgid "With this description you can explain the purpose of the challenge to the \
                user."
-msgstr ""
-
-#: captcha.admin.inc:80
-msgid "For language %lang_name (code %lang_code)"
-msgstr ""
-
-#: captcha.admin.inc:98
-msgid "Persistence"
-msgstr ""
-
-#: captcha.admin.inc:101
-msgid "Always add a challenge."
-msgstr ""
-
-#: captcha.admin.inc:102
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr ""
-
-#: captcha.admin.inc:103
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr ""
-
-#: captcha.admin.inc:105
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr ""
-
-#: captcha.admin.inc:110
-msgid "Log wrong responses"
-msgstr ""
-
-#: captcha.admin.inc:111
-msgid "Report information about wrong responses to the !log."
-msgstr ""
-
-#: captcha.admin.inc:111
-msgid "log"
-msgstr ""
-
-#: captcha.admin.inc:117;227
-msgid "Save"
-msgstr ""
-
-#: captcha.admin.inc:135
-msgid "Challenge type (module)"
-msgstr ""
-
-#: captcha.admin.inc:135
-msgid "Operations"
-msgstr ""
-
-#: captcha.admin.inc:166
-msgid "The CAPTCHA settings were saved."
-msgstr ""
-
-#: captcha.admin.inc:195;210
-msgid "Form ID"
-msgstr ""
-
-#: captcha.admin.inc:196;211
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr ""
-
-#: captcha.admin.inc:217
-msgid "Challenge type"
-msgstr ""
-
-#: captcha.admin.inc:218
-msgid "The CAPTCHA type to use for this form"
-msgstr ""
-
-#: captcha.admin.inc:237
-msgid "Illegal form_id"
-msgstr ""
-
-#: captcha.admin.inc:255
-msgid "Saved CAPTCHA point settings."
-msgstr ""
-
-#: captcha.admin.inc:272
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:273
-msgid "Delete"
-msgstr ""
-
-#: captcha.admin.inc:276
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr ""
-
-#: captcha.admin.inc:277
-msgid "Disable"
-msgstr ""
-
-#: captcha.admin.inc:290
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:294
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr ""
-
-#: captcha.admin.inc:320
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr ""
-
-#: captcha.admin.inc:331
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr ""
-
-#: captcha.admin.inc:334
-msgid "10 more examples of this challenge."
-msgstr ""
-
-#: (duplicate) captcha.pages.inc:66;53;161 captcha.module:202;115  captcha.info:0 \
                image_captcha/image_captcha.user.inc:28 \
                image_captcha/image_captcha.module:91
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-#: captcha.pages.inc:108
-msgid "Another challenge"
-msgstr "Kolejna próba"
-
-#: captcha.pages.inc:109
-msgid "Get another challenge"
-msgstr "Kolejna próba"
-
-#: captcha.pages.inc:144
-msgid "CAPTCHA test failed (unknown challenge_id)."
-msgstr "CAPTCHA siÄ™ nie zgadza (nieznane challenge_id)."
-
-#: captcha.pages.inc:156
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "Odpowiedź na test CAPTCHA nie była prawidłowa."
-
-#: captcha.pages.inc:53
-msgid "CAPTCHA problem: hook_captcha() of module %module returned nothing when \
                trying to retrieve challenge type %type for form %form_id."
-msgstr ""
-
-#: captcha.pages.inc:161
-msgid "%form_id post blocked by CAPTCHA module: challenge \"%challenge\" (by module \
                \"%module\"), user answered \"%response\", but the solution was \
                \"%solution\"."
-msgstr ""
-
-#: captcha.module:24
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr ""
-
-#: captcha.module:25
-msgid "Note that the CAPTCHA module interacts with page caching (see <a \
href=\"!performancesettings\">performance settings</a>). Because the challenge should \
be unique for each generated form, the caching of the page it appears on is \
prevented. Make sure that these forms do not appear on too many pages or you will \
lose much caching efficiency. For example, if you put a CAPTCHA on the user login \
block, which typically appears on each page for anonymous visitors, caching will \
practically be disabled. The comment submission forms are another example. In this \
case you should set the \"%commentlocation\" to \"%separatepage\" in the comment \
settings of the relevant <a href=\"!contenttypes\">content types</a> for better \
                caching efficiency."
-msgstr ""
-
-#: captcha.module:28
-msgid "Location of comment submission form"
-msgstr ""
-
-#: captcha.module:29
-msgid "Display on separate page"
-msgstr ""
-
-#: captcha.module:33
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr ""
-
-#: captcha.module:38
-msgid "A CAPTCHA can be added to virtually each Drupal form. Some default forms are \
already provided in the form list, but arbitrary forms can be easily added and \
                managed when the option \"%adminlinks\" is enabled."
-msgstr ""
-
-#: captcha.module:40
-msgid "Users with the \"%skipcaptcha\" <a href=\"@perm\">permission</a> won't be \
offered a challenge. Be sure to grant this permission to the trusted users (e.g. site \
administrators). If you want to test a protected form, be sure to do it as a user \
                without the \"%skipcaptcha\" permission (e.g. as anonymous user)."
-msgstr ""
-
-#: captcha.module:149
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr ""
-
-#: captcha.module:207
-msgid "Untrusted users will see a CAPTCHA here (!settings)."
-msgstr ""
-
-#: captcha.module:208
-msgid "general CAPTCHA settings"
-msgstr ""
-
-#: captcha.module:212
-msgid "Enabled challenge"
-msgstr ""
-
-#: captcha.module:213
-msgid "\"@type\" by module \"@module\" (!change, !disable)"
-msgstr ""
-
-#: captcha.module:216
-msgid "change"
-msgstr ""
-
-#: captcha.module:217
-msgid "disable"
-msgstr ""
-
-#: captcha.module:223
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr ""
-
-#: captcha.module:247
-msgid "Math Question"
-msgstr ""
-
-#: captcha.module:248
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr ""
-
-#: captcha.module:249
-msgid "@x + @y = "
-msgstr ""
-
-#: (duplicate) captcha.module:116
-msgid "Already @counter blocked form submissions"
-msgstr ""
-
-#: captcha.install:9
-msgid "This table describes which challenges should be added to which forms."
-msgstr ""
-
-#: captcha.install:12
-msgid "The form_id of the form to add a CAPTCHA to."
-msgstr ""
-
-#: captcha.install:18
-msgid "The module that provides the challenge."
-msgstr ""
-
-#: captcha.install:23
-msgid "The challenge type to use."
-msgstr ""
-
-#: captcha.install:31;154
-msgid "Stores the solutions of the generated challenges."
-msgstr ""
-
-#: captcha.install:34;157
-msgid "Primary Key: Unique challenge ID."
-msgstr ""
-
-#: captcha.install:39;162
-msgid "Solution of the challenge."
-msgstr ""
-
-#: captcha.install:46;169
-msgid "Session ID of the user."
-msgstr ""
-
-#: captcha.install:53;176
-msgid "A Unix timestamp indicating when the challenge was generated."
-msgstr ""
-
-#: captcha.install:119
-msgid "Unsupported database."
-msgstr ""
-
-#: captcha.info:0
-msgid "Base CAPTCHA module for adding challenges to arbitrary forms."
-msgstr ""
-
-#: captcha.info:0 image_captcha/image_captcha.info:0
-msgid "Spam control"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:8
-msgid "Built-in font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:26
-msgid "Images cannot be generated, because your PHP installation's GD library has no \
                JPEG support."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:31
-msgid "Code settings"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:35
-msgid "Characters to use in the code"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:40
-msgid "Code length"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:43
-msgid "The code length influences the size of the image. Note that larger values \
                make the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:49
-msgid "Font settings"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:55
-msgid "Font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:57
-msgid "The TrueType font (.ttf) to use for the text in the image CAPTCHA."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:66
-msgid "Font size"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:68
-msgid "tiny"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:69;84
-msgid "small"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:70;85;104;142
-msgid "normal"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:71;86
-msgid "large"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:74
-msgid "The font size influences the size of the image. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:80
-msgid "Character spacing"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:81
-msgid "Define the average spacing between characters. Note that larger values make \
                the image generation more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:93
-msgid "Distortion and noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:94
-msgid "With these settings you can control the degree of obfuscation by distortion \
and added noise. Do not exaggerate the obfuscation and assure that the code in the \
image is reasonably readable. For example, do not combine high levels of distortion \
                and noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:99
-msgid "Distortion level"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:102;141
-msgid "low"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:103
-msgid "moderate"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:105;143
-msgid "high"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:106;144
-msgid "severe"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:109
-msgid "Set the degree of wave distortion in the image."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:113
-msgid "Smooth distortion"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:115
-msgid "This option enables bilinear interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:120
-msgid "Double vision"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:122
-msgid "When enabled, characters appear twice in the image, overlaid onto each \
                other."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:127
-msgid "Add salt and pepper noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:129
-msgid "This option adds randomly colored point noise."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:133
-msgid "Add line noise"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:135
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:139
-msgid "Noise level"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:157
-msgid "The image captcha module works best with a TrueType font file (TTF) for \
generating the images, but because of licencing issues it is not allowed to package \
fonts with the module. A simple built-in bitmap font is provided as default instead. \
You can install TrueType fonts yourself by putting them in the fonts directory of the \
image captcha module (directory \"%fontsdir\") or by uploading them to your Drupal \
                file system (directory \"%filesdir\") with for example the upload \
                module."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:160
-msgid "The usage of the built-in bitmap font it is not recommended because of its \
                small size and missing UTF-8 support."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:171
-msgid "The list of characters to use should not contain spaces."
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:176
-msgid "You need to select a font"
-msgstr ""
-
-#: image_captcha/image_captcha.admin.inc:179
-msgid "Font does not exist or is not readable."
-msgstr ""
-
-#: image_captcha/image_captcha.user.inc:28
-msgid "Generation of image CAPTCHA failed. Check your image CAPTCHA configuration \
                and especially the used font."
-msgstr ""
-
-#: image_captcha/image_captcha.module:16
-msgid "The image CAPTCHA is a popular challenge where a random textual code is \
obfuscated in an image. The image is generated on the fly for each request, which is \
rather CPU intensive for the server. Be careful with the size and computation related \
                settings."
-msgstr ""
-
-#: image_captcha/image_captcha.module:20
-msgid "<p>Example image, generated with the current settings:</p>!img"
-msgstr ""
-
-#: image_captcha/image_captcha.module:144
-msgid "What code is in the image?"
-msgstr ""
-
-#: image_captcha/image_captcha.module:145
-msgid "Copy the characters (respecting upper/lower case) from the image."
-msgstr ""
-
-#: image_captcha/image_captcha.module:91
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr ""
-
-#: image_captcha/image_captcha.info:0
-msgid "Image CAPTCHA"
-msgstr ""
-
-#: image_captcha/image_captcha.info:0
-msgid "Provides an image based CAPTCHA."
-msgstr ""
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk-ua.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk-ua.po deleted \
file mode 100644 index d1b40bb..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk-ua.po
+++ /dev/null
@@ -1,428 +0,0 @@
-# Ukrainian translation of CAPTCHA (all releases)
-# Copyright (c) 2009 by the Ukrainian translation team
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: CAPTCHA (all releases)\n"
-"POT-Creation-Date: 2009-10-08 19:53+0000\n"
-"PO-Revision-Date: 2009-10-08 22:54+0200\n"
-"Language-Team: Ukrainian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; \
plural=((((n%10)==1)&&((n%100)!))?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)> \
                )))?(1):2));\n"
-"Last-Translator: podarok <podarok@ua.fm>\n"
-"X-Poedit-Language: Ukrainian\n"
-"X-Poedit-Country: UKRAINE\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-msgid "Save configuration"
-msgstr "Запам'Ñтати конфігурацію"
-
-msgid "delete"
-msgstr "видалити"
-
-msgid "Delete"
-msgstr "Видалити"
-
-msgid "Submit"
-msgstr "ÐадіÑлати"
-
-msgid "Operations"
-msgstr "Дії"
-
-msgid "Disable"
-msgstr "Вимкнено"
-
-msgid "Math Question: What is %problem?"
-msgstr "Порахуйте: Ñкільки буде %problem?"
-
-msgid "none"
-msgstr "нічого"
-
-msgid "General settings"
-msgstr "Загальні налаштуваннÑ"
-
-msgid "Save"
-msgstr "Зберегти"
-
-msgid "Font"
-msgstr "Шрифт"
-
-msgid "Form ID"
-msgstr "Ідентифікатор форми"
-
-msgid "Example"
-msgstr "Приклад"
-
-msgid "Background color"
-msgstr "Колір тла"
-
-msgid "Text color"
-msgstr "Колір текÑту"
-
-msgid "Unsupported database."
-msgstr "База даних не підтримуєтьÑÑ!"
-
-msgid "normal"
-msgstr "звичайний"
-
-msgid "second"
-msgstr "другий"
-
-msgid "Code length"
-msgstr "Довжина коду"
-
-msgid "Font size"
-msgstr "Розмір шрифта"
-
-msgid "Spam control"
-msgstr "КОнтроль Ñпаму"
-
-msgid "The list of characters to use should not contain spaces."
-msgstr "СпиÑок Ñимволів не повинен міÑтити \
                пропуÑків"
-
-msgid "Math question"
-msgstr "Математичне завданнÑ"
-
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "ТрапивÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ð¹ байт при \
                розділенні utf8 Ñтроки в Ñимволи"
-
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð²Ð¸ %lang_name ( код %lang_code )"
-
-msgid "first"
-msgstr "перший"
-
-msgid "third"
-msgstr "третій"
-
-msgid "fourth"
-msgstr "четвертий"
-
-msgid "fifth"
-msgstr "п'Ñтий"
-
-msgid "sixth"
-msgstr "шоÑтий"
-
-msgid "seventh"
-msgstr "Ñьомий"
-
-msgid "eighth"
-msgstr "воÑьмий"
-
-msgid "ninth"
-msgstr "дев'Ñтий"
-
-msgid "tenth"
-msgstr "деÑÑтий"
-
-msgid "change"
-msgstr "зміна"
-
-msgid "disable"
-msgstr "вимкнути"
-
-msgid "low"
-msgstr "низько"
-
-msgid "medium"
-msgstr "Ñередній"
-
-msgid "high"
-msgstr "виÑоко"
-
-msgid "Display on separate page"
-msgstr "Показувати на окремій Ñторінці"
-
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Додати CAPTCHA адмініÑтративні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð¾ \
                форм"
-
-msgid "This option is very helpful to enable/disable challenges on forms. When \
enabled, users with the \"%admincaptcha\" permission will see CAPTCHA administration \
links on all forms (except on administrative pages, which shouldn't be accessible to \
untrusted users in the first place). These links make it possible to enable a \
                challenge of the desired type or disable it."
-msgstr "Дана функциональніÑÑ‚ÑŒ дуже кориÑна на \
перших порах Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð²ÐµÐ±Ñайтів. Коли \
увімкнена - кориÑтувачі з \"%admincaptcha\" доÑтупом \
будуть бачити Ñпеціальні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð±Ñ–Ð»Ñ Ð²ÑÑ–Ñ… \
форм, що дозволить швидко увімкнути-вимкнути \
                капчу Ñаме в потрібних міÑцÑÑ… Ñайту."
-
-msgid "administer CAPTCHA settings"
-msgstr "ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ CAPTCHA"
-
-msgid "Challenge type per form"
-msgstr "Типи в залежноÑÑ‚Ñ– від форм"
-
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with the \
help of the '%CAPTCHA_admin_links' option or the <a href=\"!add_captcha_point\">the \
                CAPTCHA point form</a>."
-msgstr "Виберіть тип запитаннÑ, Ñке ви бажаєте \
відображати на перерахованих формах ( \
ідентифікатори - так звані <em>form_id</em> ). Ви \
можете легко Ñ– проÑто додати будь-Ñкі форми з \
допомогою '%CAPTCHA_admin_links' параметру або <a \
                href=\"!add_captcha_point\">CAPTCHA point форми</a>."
-
-msgid "Challenge description"
-msgstr "ÐžÐ¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ капчі"
-
-msgid "With this description you can explain the purpose of the challenge to the \
                user."
-msgstr "Цей Ð¾Ð¿Ð¸Ñ Ð¿Ð¾ÑÑнюватиме кориÑтувачу вимогу \
                Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ–."
-
-msgid "Persistence"
-msgstr "СтійкіÑÑ‚ÑŒ"
-
-msgid "Always add a challenge."
-msgstr "Завжди вмикати капчу"
-
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Вмикати капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ лише один раз до \
                моменту правильної відповіді \
                кориÑтувача."
-
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Вмикати капчу Ð´Ð»Ñ Ð²ÑÑ–Ñ… форм лише один раз \
                до моменту правильної видповіді \
                кориÑтувача"
-
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Вказуєм чи потрібно вмикати капчу \
протÑгом подальшої ÑеÑÑ–Ñ— кориÑтувача піÑÐ»Ñ \
                правильної відповіді одного разу"
-
-msgid "Log wrong responses"
-msgstr "Логувати неправильні відповіді"
-
-msgid "Report information about wrong responses to the !log."
-msgstr "ЗапиÑувати інформацію про неправильні \
                відповіді в !log"
-
-msgid "log"
-msgstr "лог"
-
-msgid "Challenge type (module)"
-msgstr "Тип капчі ( Ñубмобуль )"
-
-msgid "The CAPTCHA settings were saved."
-msgstr "Параметри капчі було збережено"
-
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Ідентифікатор форми form_id Друпала, до \
                Ñкого заÑтоÑувати капчу"
-
-msgid "Challenge type"
-msgstr "Тип капчі"
-
-msgid "The CAPTCHA type to use for this form"
-msgstr "Тип капчі, що викориÑтовувати до цієї \
                форми"
-
-msgid "Illegal form_id"
-msgstr "Ðекоректний form_id"
-
-msgid "Saved CAPTCHA point settings."
-msgstr "Збережено параметри балів капчі"
-
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Ви впевнені щодо Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ– Ð´Ð»Ñ \
                ідентифікатора форми form_id = %form_id ?"
-
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Ви впевнені щодо Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ– Ð´Ð»Ñ \
                ідентифікатора форми form_id = %form_id ?"
-
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "Видалено капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ %form_id."
-
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "Вимкнено капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ %form_id."
-
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Ð¦Ñ Ñторінка надає Ð¾Ð¿Ð¸Ñ Ð²ÑÑ–Ñ… доÑтупних \
типів капчі, згенерованих теперішніми \
                параметрами."
-
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Капча \"%challenge\" Ð¼Ð¾Ð´ÑƒÐ»Ñ \"%module\""
-
-msgid "10 more examples of this challenge."
-msgstr "Ще 10 прикладів даного типу капчі"
-
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "CAPTCHA (англ.  «completely automated public turing test to tell \
computers and humans apart » — повніÑÑ‚ÑŽ автоматизований \
публічний теÑÑ‚ Тюринга Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ \
комп'ютерів і людей) — торгова марка \
УніверÑитет Карнегі — Меллона, комп'ютерний \
теÑÑ‚, Ñкий викориÑтовуєтьÑÑ Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб \
визначити, хто викориÑтовує ÑиÑтему — людина \
                чи комп'ютер. Термін з'ÑвивÑÑ Ð² 2000 \
                році."
-
-msgid "Location of comment submission form"
-msgstr "Ð Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ Ð¿Ð¾Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ"
-
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA is a trademark of Carnegie Mellon University."
-
-msgid "skip CAPTCHA"
-msgstr "обхід капчі"
-
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Дайте відповідь на це запитаннÑ, щоб ми \
                знали що ви людина, а не тупий робот )."
-
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-msgid "general CAPTCHA settings"
-msgstr "головні параметри капчі"
-
-msgid "Enabled challenge"
-msgstr "Ввімкнена капча"
-
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Ð’ÑтавлÑти Капчу тут Ð´Ð»Ñ Ð½ÐµÐ´Ð¾Ð²Ñ–Ñ€ÐµÐ½Ð¸Ñ… \
                кориÑтувачів"
-
-msgid "Invalid CAPTCHA token."
-msgstr "Ðеправильна Капча"
-
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "ВІдповідь, введена вами Ð´Ð»Ñ ÐšÐ°Ð¿Ñ‡Ñ– - \
                некоректна"
-
-msgid "Math Question"
-msgstr "Математичне завданнÑ"
-
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Розв'Ñжіть цю проÑту задачку Ñ– введіть \
                відповідь. Ðаприклад, Ð´Ð»Ñ 1+3 введіть 4."
-
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-msgid "Already @counter blocked form submissions"
-msgstr "Вже блоковано @counter некоректних \
                відповідей на капчу"
-
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтаннÑм Капчі"
-
-msgid "Examples"
-msgstr "Приклади"
-
-msgid "CAPTCHA point adminstration"
-msgstr "ÐдмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð°Ð»Ñ–Ð² капчі"
-
-msgid "Built-in font"
-msgstr "Вбудований шрифт"
-
-msgid "Code settings"
-msgstr "Параметри коду"
-
-msgid "Font settings"
-msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñ–Ð²"
-
-msgid "tiny"
-msgstr "дрібний"
-
-msgid "small"
-msgstr "малий"
-
-msgid "large"
-msgstr "великий"
-
-msgid "Character spacing"
-msgstr "ПропуÑки між Ñимволами"
-
-msgid "Color settings"
-msgstr "Параметри кольору"
-
-msgid "Additional variation of text color"
-msgstr "Додаткові варіанти кольорів текÑту"
-
-msgid "moderate"
-msgstr "керувати"
-
-msgid "very high"
-msgstr "дуже виÑоко"
-
-msgid "Distortion and noise"
-msgstr "Ð Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ Ñ‚Ð° шум"
-
-msgid "Distortion level"
-msgstr "Рівень розмиваннÑ"
-
-msgid "severe"
-msgstr "Ñередньо"
-
-msgid "Set the degree of wave distortion in the image."
-msgstr "Ð’Ñтановити процент хвильового \
                Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸"
-
-msgid "Smooth distortion"
-msgstr "Ðœ'Ñке розмиваннÑ"
-
-msgid "This option enables bilineair interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Цей параметр вмикає білінійну \
інтерполÑцію Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ Ñ‰Ð¾ робить картинку \
більш розмитою, але це Ñтворює більше \
                Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° процеÑор!"
-
-msgid "Double vision"
-msgstr "Подвійне відображеннÑ"
-
-msgid "When enabled, characters appear twice in the image, overlayed onto each \
                other."
-msgstr "Якщо увімкнено, Ñимволи малюютьÑÑ Ð´Ð²Ñ–Ñ‡Ñ– \
                на картинці, один над одним"
-
-msgid "Add salt and peper noise"
-msgstr "Додати шум \"Ñіль Ñ– перець\""
-
-msgid "This option adds randomly colored point noise."
-msgstr "Цей параметр додає випадкові кольорові \
                точки шуму"
-
-msgid "Add line noise"
-msgstr "Додати лінійний шум"
-
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Цей параметр вмикає лінії, випадково \
                намальовані поверх текÑту"
-
-msgid "Noise level"
-msgstr "Рівень шуму"
-
-msgid "You need to select a font"
-msgstr "Вам потрібно обрати шрифт"
-
-msgid "Font does not exist or is not readable."
-msgstr "Шрифт недоÑтупний або нечитаємий"
-
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Колір фону має неправильне шіÑнадцÑткове \
                значеннÑ"
-
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Колір текÑту має неправильне \
                шіÑнадцÑткове значеннÑ"
-
-msgid "<p>Example image, generated with the current settings:</p>!img"
-msgstr "<p>Приклад картинки, згенерованої \
                теперішнімі параметрами: </p> !img"
-
-msgid "Image CAPTCHA"
-msgstr "Фото Капча"
-
-msgid "What code is in the image?"
-msgstr "Які Ñимволи ви бачите на малюнку?"
-
-msgid "Copy the characters (respecting upper/lower case) from the image."
-msgstr "Впишіть Ñимволи із Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ ('а' та 'Ð' - \
                це різні Ñимволи)."
-
-msgid "Provides an image based CAPTCHA."
-msgstr "Ðадає фото капчу"
-
-msgid "Kind of words to use in the phrase"
-msgstr "Тип Ñлів Ð´Ð»Ñ Ñ„Ñ€Ð°Ð·Ð¸"
-
-msgid "Generate nonsense random words."
-msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ð±ÐµÐ·Ð·Ð¼Ñ–Ñтовних випадкових Ñлів"
-
-msgid "Use user defined words."
-msgstr "ВикориÑтовувати Ñлова, зазначені \
                кориÑтувачем"
-
-msgid "User defined words"
-msgstr "КориÑтувацькі Ñлова"
-
-msgid "Enter a bunch of space separated words (at least @min)."
-msgstr "Введіть набір Ñлів ( Ñк мінімум @min )"
-
-msgid "Number of words in the phrase"
-msgstr "КількіÑÑ‚ÑŒ Ñлів в фразі"
-
-msgid "You need to enter at least @min words if you want to use user defined words."
-msgstr "Вам потрібно ввеÑти мінімум @min Ñлів, Ñкщо \
                Ви хочете викориÑтовувати \
                \"зазначені\" Ñлова"
-
-msgid "Number of words in the phrase should be between 4 and 10."
-msgstr "КІлькіÑÑ‚ÑŒ Ñлів у фразі повинна бути між 4 \
                та 10"
-
-msgid "In this challenge the visitor is asked for the n<sup>th</sup> word of a given \
                phrase."
-msgstr "Ð’ даній капчі кориÑтувач зобов'Ñзаний \
                напиÑати порÑдкове Ñлово з цілої \
                фрази"
-
-msgid "What is the @nth word in the phrase \"@words\"?"
-msgstr "Ðапишіть @nth Ñлово в фразі \"@words\""
-
-msgid "Text CAPTCHA"
-msgstr "ТекÑтова Капча"
-
-msgid "Provides a simple text based CAPTCHA."
-msgstr "Ðадає проÑту текÑтову капчу"
-
-msgid "File format"
-msgstr "Формат файлу"
-
-msgid "The GD library for PHP is missing or outdated. Please check the <a \
                href=\"@url\">PHP image documentation</a> for information on how to \
                correct this."
-msgstr "Бібліотека GD Ð´Ð»Ñ PHP відÑÑƒÑ‚Ð½Ñ Ð°Ð±Ð¾ \
заÑтаріла. Будь-лаÑка, звернітьÑÑ Ð´Ð¾ <a \
href=\"@url\">документації по роботі PHP із \
зображеннÑми</a> щоб отримати інформацію по \
                уÑуненню цієї помилки."
-
-msgid "CAPTCHA point administration"
-msgstr "ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ CAPTCHA"
-
-msgid "JPEG"
-msgstr "JPEG"
-
-msgid "PNG"
-msgstr "PNG"
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk.po \
b/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk.po deleted file \
mode 100644 index d1b40bb..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/captcha/translations/uk.po
+++ /dev/null
@@ -1,428 +0,0 @@
-# Ukrainian translation of CAPTCHA (all releases)
-# Copyright (c) 2009 by the Ukrainian translation team
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: CAPTCHA (all releases)\n"
-"POT-Creation-Date: 2009-10-08 19:53+0000\n"
-"PO-Revision-Date: 2009-10-08 22:54+0200\n"
-"Language-Team: Ukrainian\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; \
plural=((((n%10)==1)&&((n%100)!))?(0):(((((n%10)>=2)&&((n%10)<=4))&&(((n%100)<10)||((n%100)> \
                )))?(1):2));\n"
-"Last-Translator: podarok <podarok@ua.fm>\n"
-"X-Poedit-Language: Ukrainian\n"
-"X-Poedit-Country: UKRAINE\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-msgid "Save configuration"
-msgstr "Запам'Ñтати конфігурацію"
-
-msgid "delete"
-msgstr "видалити"
-
-msgid "Delete"
-msgstr "Видалити"
-
-msgid "Submit"
-msgstr "ÐадіÑлати"
-
-msgid "Operations"
-msgstr "Дії"
-
-msgid "Disable"
-msgstr "Вимкнено"
-
-msgid "Math Question: What is %problem?"
-msgstr "Порахуйте: Ñкільки буде %problem?"
-
-msgid "none"
-msgstr "нічого"
-
-msgid "General settings"
-msgstr "Загальні налаштуваннÑ"
-
-msgid "Save"
-msgstr "Зберегти"
-
-msgid "Font"
-msgstr "Шрифт"
-
-msgid "Form ID"
-msgstr "Ідентифікатор форми"
-
-msgid "Example"
-msgstr "Приклад"
-
-msgid "Background color"
-msgstr "Колір тла"
-
-msgid "Text color"
-msgstr "Колір текÑту"
-
-msgid "Unsupported database."
-msgstr "База даних не підтримуєтьÑÑ!"
-
-msgid "normal"
-msgstr "звичайний"
-
-msgid "second"
-msgstr "другий"
-
-msgid "Code length"
-msgstr "Довжина коду"
-
-msgid "Font size"
-msgstr "Розмір шрифта"
-
-msgid "Spam control"
-msgstr "КОнтроль Ñпаму"
-
-msgid "The list of characters to use should not contain spaces."
-msgstr "СпиÑок Ñимволів не повинен міÑтити \
                пропуÑків"
-
-msgid "Math question"
-msgstr "Математичне завданнÑ"
-
-msgid "Encountered an illegal byte while splitting an utf8 string in characters."
-msgstr "ТрапивÑÑ Ð½ÐµÐ¿Ñ€Ð°Ð²Ð¸Ð»ÑŒÐ½Ð¸Ð¹ байт при \
                розділенні utf8 Ñтроки в Ñимволи"
-
-msgid "For language %lang_name (code %lang_code)"
-msgstr "Ð”Ð»Ñ Ð¼Ð¾Ð²Ð¸ %lang_name ( код %lang_code )"
-
-msgid "first"
-msgstr "перший"
-
-msgid "third"
-msgstr "третій"
-
-msgid "fourth"
-msgstr "четвертий"
-
-msgid "fifth"
-msgstr "п'Ñтий"
-
-msgid "sixth"
-msgstr "шоÑтий"
-
-msgid "seventh"
-msgstr "Ñьомий"
-
-msgid "eighth"
-msgstr "воÑьмий"
-
-msgid "ninth"
-msgstr "дев'Ñтий"
-
-msgid "tenth"
-msgstr "деÑÑтий"
-
-msgid "change"
-msgstr "зміна"
-
-msgid "disable"
-msgstr "вимкнути"
-
-msgid "low"
-msgstr "низько"
-
-msgid "medium"
-msgstr "Ñередній"
-
-msgid "high"
-msgstr "виÑоко"
-
-msgid "Display on separate page"
-msgstr "Показувати на окремій Ñторінці"
-
-msgid "Add CAPTCHA administration links to forms"
-msgstr "Додати CAPTCHA адмініÑтративні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð´Ð¾ \
                форм"
-
-msgid "This option is very helpful to enable/disable challenges on forms. When \
enabled, users with the \"%admincaptcha\" permission will see CAPTCHA administration \
links on all forms (except on administrative pages, which shouldn't be accessible to \
untrusted users in the first place). These links make it possible to enable a \
                challenge of the desired type or disable it."
-msgstr "Дана функциональніÑÑ‚ÑŒ дуже кориÑна на \
перших порах Ð½Ð°Ð»Ð°Ð³Ð¾Ð´Ð¶ÐµÐ½Ð½Ñ Ð²ÐµÐ±Ñайтів. Коли \
увімкнена - кориÑтувачі з \"%admincaptcha\" доÑтупом \
будуть бачити Ñпеціальні поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð±Ñ–Ð»Ñ Ð²ÑÑ–Ñ… \
форм, що дозволить швидко увімкнути-вимкнути \
                капчу Ñаме в потрібних міÑцÑÑ… Ñайту."
-
-msgid "administer CAPTCHA settings"
-msgstr "ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ CAPTCHA"
-
-msgid "Challenge type per form"
-msgstr "Типи в залежноÑÑ‚Ñ– від форм"
-
-msgid "Select the challenge type you want for each of the listed forms (identified \
by their so called <em>form_id</em>'s). You can easily add arbitrary forms with the \
help of the '%CAPTCHA_admin_links' option or the <a href=\"!add_captcha_point\">the \
                CAPTCHA point form</a>."
-msgstr "Виберіть тип запитаннÑ, Ñке ви бажаєте \
відображати на перерахованих формах ( \
ідентифікатори - так звані <em>form_id</em> ). Ви \
можете легко Ñ– проÑто додати будь-Ñкі форми з \
допомогою '%CAPTCHA_admin_links' параметру або <a \
                href=\"!add_captcha_point\">CAPTCHA point форми</a>."
-
-msgid "Challenge description"
-msgstr "ÐžÐ¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ капчі"
-
-msgid "With this description you can explain the purpose of the challenge to the \
                user."
-msgstr "Цей Ð¾Ð¿Ð¸Ñ Ð¿Ð¾ÑÑнюватиме кориÑтувачу вимогу \
                Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ–."
-
-msgid "Persistence"
-msgstr "СтійкіÑÑ‚ÑŒ"
-
-msgid "Always add a challenge."
-msgstr "Завжди вмикати капчу"
-
-msgid "Omit challenges for a form once the user has successfully responded to a \
                challenge for that form."
-msgstr "Вмикати капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ лише один раз до \
                моменту правильної відповіді \
                кориÑтувача."
-
-msgid "Omit challenges for all forms once the user has successfully responded to a \
                challenge."
-msgstr "Вмикати капчу Ð´Ð»Ñ Ð²ÑÑ–Ñ… форм лише один раз \
                до моменту правильної видповіді \
                кориÑтувача"
-
-msgid "Define if challenges should be omitted during the rest of a session once the \
                user successfully responses to a challenge."
-msgstr "Вказуєм чи потрібно вмикати капчу \
протÑгом подальшої ÑеÑÑ–Ñ— кориÑтувача піÑÐ»Ñ \
                правильної відповіді одного разу"
-
-msgid "Log wrong responses"
-msgstr "Логувати неправильні відповіді"
-
-msgid "Report information about wrong responses to the !log."
-msgstr "ЗапиÑувати інформацію про неправильні \
                відповіді в !log"
-
-msgid "log"
-msgstr "лог"
-
-msgid "Challenge type (module)"
-msgstr "Тип капчі ( Ñубмобуль )"
-
-msgid "The CAPTCHA settings were saved."
-msgstr "Параметри капчі було збережено"
-
-msgid "The Drupal form_id of the form to add the CAPTCHA to."
-msgstr "Ідентифікатор форми form_id Друпала, до \
                Ñкого заÑтоÑувати капчу"
-
-msgid "Challenge type"
-msgstr "Тип капчі"
-
-msgid "The CAPTCHA type to use for this form"
-msgstr "Тип капчі, що викориÑтовувати до цієї \
                форми"
-
-msgid "Illegal form_id"
-msgstr "Ðекоректний form_id"
-
-msgid "Saved CAPTCHA point settings."
-msgstr "Збережено параметри балів капчі"
-
-msgid "Are you sure you want to delete the CAPTCHA for form_id %form_id?"
-msgstr "Ви впевнені щодо Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ– Ð´Ð»Ñ \
                ідентифікатора форми form_id = %form_id ?"
-
-msgid "Are you sure you want to disable the CAPTCHA for form_id %form_id?"
-msgstr "Ви впевнені щодо Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ ÐºÐ°Ð¿Ñ‡Ñ– Ð´Ð»Ñ \
                ідентифікатора форми form_id = %form_id ?"
-
-msgid "Deleted CAPTCHA for form %form_id."
-msgstr "Видалено капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ %form_id."
-
-msgid "Disabled CAPTCHA for form %form_id."
-msgstr "Вимкнено капчу Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ %form_id."
-
-msgid "This page gives an overview of all available challenge types, generated with \
                their current settings."
-msgstr "Ð¦Ñ Ñторінка надає Ð¾Ð¿Ð¸Ñ Ð²ÑÑ–Ñ… доÑтупних \
типів капчі, згенерованих теперішніми \
                параметрами."
-
-msgid "Challenge \"%challenge\" by module \"%module\""
-msgstr "Капча \"%challenge\" Ð¼Ð¾Ð´ÑƒÐ»Ñ \"%module\""
-
-msgid "10 more examples of this challenge."
-msgstr "Ще 10 прикладів даного типу капчі"
-
-msgid "\"CAPTCHA\" is an acronym for \"Completely Automated Public Turing test to \
tell Computers and Humans Apart\". It is typically a challenge-response test to \
determine whether the user is human. The CAPTCHA module is a tool to fight automated \
submission by malicious users (spamming) of for example comments forms, user \
registration forms, guestbook forms, etc. You can extend the desired forms with an \
additional challenge, which should be easy for a human to solve correctly, but hard \
                enough to keep automated scripts and spam bots out."
-msgstr "CAPTCHA (англ.  «completely automated public turing test to tell \
computers and humans apart » — повніÑÑ‚ÑŽ автоматизований \
публічний теÑÑ‚ Тюринга Ð´Ð»Ñ Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ \
комп'ютерів і людей) — торгова марка \
УніверÑитет Карнегі — Меллона, комп'ютерний \
теÑÑ‚, Ñкий викориÑтовуєтьÑÑ Ð´Ð»Ñ Ñ‚Ð¾Ð³Ð¾, щоб \
визначити, хто викориÑтовує ÑиÑтему — людина \
                чи комп'ютер. Термін з'ÑвивÑÑ Ð² 2000 \
                році."
-
-msgid "Location of comment submission form"
-msgstr "Ð Ð¾Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð¸ Ð¿Ð¾Ð´Ð°Ð½Ð½Ñ ÐºÐ¾Ð¼ÐµÐ½Ñ‚Ð°Ñ€Ñ"
-
-msgid "CAPTCHA is a trademark of Carnegie Mellon University."
-msgstr "CAPTCHA is a trademark of Carnegie Mellon University."
-
-msgid "skip CAPTCHA"
-msgstr "обхід капчі"
-
-msgid "This question is for testing whether you are a human visitor and to prevent \
                automated spam submissions."
-msgstr "Дайте відповідь на це запитаннÑ, щоб ми \
                знали що ви людина, а не тупий робот )."
-
-msgid "CAPTCHA"
-msgstr "CAPTCHA"
-
-msgid "general CAPTCHA settings"
-msgstr "головні параметри капчі"
-
-msgid "Enabled challenge"
-msgstr "Ввімкнена капча"
-
-msgid "Place a CAPTCHA here for untrusted users."
-msgstr "Ð’ÑтавлÑти Капчу тут Ð´Ð»Ñ Ð½ÐµÐ´Ð¾Ð²Ñ–Ñ€ÐµÐ½Ð¸Ñ… \
                кориÑтувачів"
-
-msgid "Invalid CAPTCHA token."
-msgstr "Ðеправильна Капча"
-
-msgid "The answer you entered for the CAPTCHA was not correct."
-msgstr "ВІдповідь, введена вами Ð´Ð»Ñ ÐšÐ°Ð¿Ñ‡Ñ– - \
                некоректна"
-
-msgid "Math Question"
-msgstr "Математичне завданнÑ"
-
-msgid "Solve this simple math problem and enter the result. E.g. for 1+3, enter 4."
-msgstr "Розв'Ñжіть цю проÑту задачку Ñ– введіть \
                відповідь. Ðаприклад, Ð´Ð»Ñ 1+3 введіть 4."
-
-msgid "@x + @y = "
-msgstr "@x + @y = "
-
-msgid "Already @counter blocked form submissions"
-msgstr "Вже блоковано @counter некоректних \
                відповідей на капчу"
-
-msgid "Administer how and where CAPTCHAs are used."
-msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтаннÑм Капчі"
-
-msgid "Examples"
-msgstr "Приклади"
-
-msgid "CAPTCHA point adminstration"
-msgstr "ÐдмініÑÑ‚Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð±Ð°Ð»Ñ–Ð² капчі"
-
-msgid "Built-in font"
-msgstr "Вбудований шрифт"
-
-msgid "Code settings"
-msgstr "Параметри коду"
-
-msgid "Font settings"
-msgstr "ÐÐ°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ ÑˆÑ€Ð¸Ñ„Ñ‚Ñ–Ð²"
-
-msgid "tiny"
-msgstr "дрібний"
-
-msgid "small"
-msgstr "малий"
-
-msgid "large"
-msgstr "великий"
-
-msgid "Character spacing"
-msgstr "ПропуÑки між Ñимволами"
-
-msgid "Color settings"
-msgstr "Параметри кольору"
-
-msgid "Additional variation of text color"
-msgstr "Додаткові варіанти кольорів текÑту"
-
-msgid "moderate"
-msgstr "керувати"
-
-msgid "very high"
-msgstr "дуже виÑоко"
-
-msgid "Distortion and noise"
-msgstr "Ð Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ Ñ‚Ð° шум"
-
-msgid "Distortion level"
-msgstr "Рівень розмиваннÑ"
-
-msgid "severe"
-msgstr "Ñередньо"
-
-msgid "Set the degree of wave distortion in the image."
-msgstr "Ð’Ñтановити процент хвильового \
                Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ ÐºÐ°Ñ€Ñ‚Ð¸Ð½ÐºÐ¸"
-
-msgid "Smooth distortion"
-msgstr "Ðœ'Ñке розмиваннÑ"
-
-msgid "This option enables bilineair interpolation of the distortion which makes the \
                image look smoother, but it is more CPU intensive."
-msgstr "Цей параметр вмикає білінійну \
інтерполÑцію Ñ€Ð¾Ð·Ð¼Ð¸Ð²Ð°Ð½Ð½Ñ Ñ‰Ð¾ робить картинку \
більш розмитою, але це Ñтворює більше \
                Ð½Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ð½Ð° процеÑор!"
-
-msgid "Double vision"
-msgstr "Подвійне відображеннÑ"
-
-msgid "When enabled, characters appear twice in the image, overlayed onto each \
                other."
-msgstr "Якщо увімкнено, Ñимволи малюютьÑÑ Ð´Ð²Ñ–Ñ‡Ñ– \
                на картинці, один над одним"
-
-msgid "Add salt and peper noise"
-msgstr "Додати шум \"Ñіль Ñ– перець\""
-
-msgid "This option adds randomly colored point noise."
-msgstr "Цей параметр додає випадкові кольорові \
                точки шуму"
-
-msgid "Add line noise"
-msgstr "Додати лінійний шум"
-
-msgid "This option enables lines randomly drawn on top of the text code."
-msgstr "Цей параметр вмикає лінії, випадково \
                намальовані поверх текÑту"
-
-msgid "Noise level"
-msgstr "Рівень шуму"
-
-msgid "You need to select a font"
-msgstr "Вам потрібно обрати шрифт"
-
-msgid "Font does not exist or is not readable."
-msgstr "Шрифт недоÑтупний або нечитаємий"
-
-msgid "Background color is not a valid hexadecimal color value."
-msgstr "Колір фону має неправильне шіÑнадцÑткове \
                значеннÑ"
-
-msgid "Text color is not a valid hexadecimal color value."
-msgstr "Колір текÑту має неправильне \
                шіÑнадцÑткове значеннÑ"
-
-msgid "<p>Example image, generated with the current settings:</p>!img"
-msgstr "<p>Приклад картинки, згенерованої \
                теперішнімі параметрами: </p> !img"
-
-msgid "Image CAPTCHA"
-msgstr "Фото Капча"
-
-msgid "What code is in the image?"
-msgstr "Які Ñимволи ви бачите на малюнку?"
-
-msgid "Copy the characters (respecting upper/lower case) from the image."
-msgstr "Впишіть Ñимволи із Ð·Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ ('а' та 'Ð' - \
                це різні Ñимволи)."
-
-msgid "Provides an image based CAPTCHA."
-msgstr "Ðадає фото капчу"
-
-msgid "Kind of words to use in the phrase"
-msgstr "Тип Ñлів Ð´Ð»Ñ Ñ„Ñ€Ð°Ð·Ð¸"
-
-msgid "Generate nonsense random words."
-msgstr "Ð“ÐµÐ½ÐµÑ€Ð°Ñ†Ñ–Ñ Ð±ÐµÐ·Ð·Ð¼Ñ–Ñтовних випадкових Ñлів"
-
-msgid "Use user defined words."
-msgstr "ВикориÑтовувати Ñлова, зазначені \
                кориÑтувачем"
-
-msgid "User defined words"
-msgstr "КориÑтувацькі Ñлова"
-
-msgid "Enter a bunch of space separated words (at least @min)."
-msgstr "Введіть набір Ñлів ( Ñк мінімум @min )"
-
-msgid "Number of words in the phrase"
-msgstr "КількіÑÑ‚ÑŒ Ñлів в фразі"
-
-msgid "You need to enter at least @min words if you want to use user defined words."
-msgstr "Вам потрібно ввеÑти мінімум @min Ñлів, Ñкщо \
                Ви хочете викориÑтовувати \
                \"зазначені\" Ñлова"
-
-msgid "Number of words in the phrase should be between 4 and 10."
-msgstr "КІлькіÑÑ‚ÑŒ Ñлів у фразі повинна бути між 4 \
                та 10"
-
-msgid "In this challenge the visitor is asked for the n<sup>th</sup> word of a given \
                phrase."
-msgstr "Ð’ даній капчі кориÑтувач зобов'Ñзаний \
                напиÑати порÑдкове Ñлово з цілої \
                фрази"
-
-msgid "What is the @nth word in the phrase \"@words\"?"
-msgstr "Ðапишіть @nth Ñлово в фразі \"@words\""
-
-msgid "Text CAPTCHA"
-msgstr "ТекÑтова Капча"
-
-msgid "Provides a simple text based CAPTCHA."
-msgstr "Ðадає проÑту текÑтову капчу"
-
-msgid "File format"
-msgstr "Формат файлу"
-
-msgid "The GD library for PHP is missing or outdated. Please check the <a \
                href=\"@url\">PHP image documentation</a> for information on how to \
                correct this."
-msgstr "Бібліотека GD Ð´Ð»Ñ PHP відÑÑƒÑ‚Ð½Ñ Ð°Ð±Ð¾ \
заÑтаріла. Будь-лаÑка, звернітьÑÑ Ð´Ð¾ <a \
href=\"@url\">документації по роботі PHP із \
зображеннÑми</a> щоб отримати інформацію по \
                уÑуненню цієї помилки."
-
-msgid "CAPTCHA point administration"
-msgstr "ÐºÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ CAPTCHA"
-
-msgid "JPEG"
-msgstr "JPEG"
-
-msgid "PNG"
-msgstr "PNG"
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/LICENSE.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/LICENSE.txt old mode \
100644 new mode 100755
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/README.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/README.txt index \
                0b1857e..921c0d3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/README.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/README.txt
@@ -12,7 +12,7 @@ INTRODUCTION

 Current Maintainer: Travis Carden <http://drupal.org/user/236758>

-Checklist API Provides a simple interface for modules to create fillable,
+Checklist API provides a simple interface for modules to create fillable,
 persistent checklists that track progress with completion times and users. See
 checklistapi_example.module for an example implementation.

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.admin.inc \
                index 041612a..382e566 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.admin.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.admin.inc
@@ -13,6 +13,7 @@
  * @ingroup forms
  */
 function checklistapi_report_form() {
+  // Define table header.
   $header = array(
     t('Checklist'),
     t('Progress'),
@@ -20,31 +21,36 @@ function checklistapi_report_form() {
     t('Last updated by'),
     t('Operations'),
   );
+
+  // Build table rows.
+  $rows = array();
   $definitions = checklistapi_get_checklist_info();
-  if (count($definitions)) {
-    $rows = array();
-    foreach ($definitions as $id => $definition) {
-      $checklist = checklistapi_checklist_load($id);
-      $row = array();
-      $row[] = array(
-        'data' => ($checklist->userHasAccess()) ? l($checklist->title, \
                $checklist->path) : drupal_placeholder($checklist->title),
-        'title' => (!empty($checklist->description)) ? $checklist->description : '',
-      );
-      $row[] = t('@completed of @total (@percent%) complete', array(
-        '@completed' => $completed = \
(!empty($checklist->savedProgress['#completed_items'])) ? \
                $checklist->savedProgress['#completed_items'] : 0,
-        '@total' => $checklist->totalItems,
-        '@percent' => round($completed / $checklist->totalItems * 100),
-      ));
-      $row[] = (!empty($checklist->savedProgress['#changed'])) ? \
                format_date($checklist->savedProgress['#changed']) : t('n/a');
-      $row[] = (isset($checklist->savedProgress['#changed_by'])) ? theme('username', \
                array('account' => \
                user_load($checklist->savedProgress['#changed_by']))) : t('n/a');
-      $row[] = ($checklist->userHasAccess('edit') && $checklist->hasSavedProgress()) \
                ? l(t('clear saved progress'), $checklist->path . '/clear', array(
-        'query' => array('destination' => 'admin/reports/checklistapi'),
-      )) : '';
-      $rows[] = $row;
-    }
-  }
-  else {
-    $rows[][] = array('data' => t('No checklists available.'), 'colspan' => 5);
+  foreach ($definitions as $id => $definition) {
+    $checklist = checklistapi_checklist_load($id);
+    $row = array();
+    $row[] = array(
+      'data' => ($checklist->userHasAccess()) ? l($checklist->title, \
$checklist->path) : drupal_placeholder($checklist->title), +      'title' => \
(!empty($checklist->description)) ? $checklist->description : '', +    );
+    $row[] = t('@completed of @total (@percent%)', array(
+      '@completed' => $checklist->getNumberCompleted(),
+      '@total' => $checklist->getNumberOfItems(),
+      '@percent' => round($checklist->getPercentComplete()),
+    ));
+    $row[] = $checklist->getLastUpdatedDate();
+    $row[] = $checklist->getLastUpdatedUser();
+    $row[] = ($checklist->userHasAccess('edit') && $checklist->hasSavedProgress()) ? \
l(t('clear saved progress'), $checklist->path . '/clear', array( +      'query' => \
array('destination' => 'admin/reports/checklistapi'), +    )) : '';
+    $rows[] = $row;
   }
-  return theme('table', array('header' => $header, 'rows' => $rows));
+
+  // Compile table.
+  $table = array(
+    'header' => $header,
+    'rows' => $rows,
+    'empty' => t('No checklists available.'),
+  );
+
+  return theme('table', $table);
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.api.php index \
                93cd6a1..bc02a71 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.api.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.api.php
@@ -26,8 +26,9 @@
  *     corresponding menu item.
  *   - #help: (optional) User help to be displayed in the "System help" block
  *     via hook_help().
- *   - #menu_name: (optional) Set this to a custom menu if you don't want your
- *     item to be placed in Navigation.
+ *   - #menu_name: (optional) The machine name of a menu to place the checklist
+ *     into (e.g. "main-menu" or "navigation"). If this is omitted, Drupal will
+ *     try to infer the correct menu placement from the specified path.
  *   - #weight: (optional) A floating point number used to sort the list of
  *     checklists before being output. Lower numbers appear before higher
  *     numbers.
@@ -61,14 +62,6 @@
  *         - #path: The link path.
  *         - #options: (optional) An associative array of additional options
  *           used by the l() function.
- *         - #context: (optional) The context in which the link may appear. May
- *           be one of the following:
- *           - CHECKLISTAPI_LINK_CONTEXT_ANY: (default) The link will always
- *             appear.
- *           - CHECKLISTAPI_LINK_CONTEXT_ITEM_CHECKED: The link will appear if
- *             the item it belongs to has been previously checked.
- *           - CHECKLISTAPI_LINK_CONTEXT_ITEM_UNCHECKED: The link will appear if
- *             the item it belongs to has not been previously checked.
  *         - #weight: (optional) A floating point number used to sort the list
  *           of items before being output. Lower numbers appear before higher
  *           numbers.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.css \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.css index \
                4c7062d..b7cc6ea 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.css
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.css
@@ -9,3 +9,17 @@
 #checklistapi-checklist-form.compact-mode div.description p {
   display: none;
 }
+
+/**
+ * Progress bar.
+ *
+ * @see system.theme.css
+ */
+#checklistapi-checklist-form .progress {
+  font-weight: normal;
+  margin-bottom: 0.5em;
+}
+#checklistapi-checklist-form .progress .bar,
+#checklistapi-checklist-form .progress .filled {
+  background-image: none;
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.info index \
                30ef9a8..4224d78 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.info
@@ -6,9 +6,9 @@ files[] = lib/Drupal/checklistapi/ChecklistapiChecklist.php
 files[] = tests/checklistapi.test
 configure = admin/reports/checklistapi

-; Information added by drupal.org packaging script on 2012-07-22
-version = "7.x-1.0-beta3"
+; Information added by  packaging script on 2013-11-11
+version = "7.x-1.1"
 core = "7.x"
 project = "checklistapi"
-datestamp = "1342935379"
+datestamp = "1384130305"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.install new \
file mode 100644 index 0000000..a42f1b0
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.install
@@ -0,0 +1,17 @@
+<?php
+
+/**
+ * @file
+ * Install, update and uninstall functions for the Checklist API module.
+ */
+
+/**
+ * Implements hook_uninstall().
+ */
+function checklistapi_uninstall() {
+  // Delete all Checklist API persistent variables.
+  db_delete('variable')
+    ->condition('name', db_like('checklistapi_') . '%', 'LIKE')
+    ->execute();
+  cache_clear_all('variables', 'cache_bootstrap');
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.js index \
                d40b105..c4c3707 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.js
@@ -1,31 +1,64 @@
 (function ($) {
-
   "use strict";
+
+  /**
+   * Provides the summary information for the checklist form vertical tabs.
+   */
   Drupal.behaviors.checklistapiFieldsetSummaries = {
     attach: function (context) {
-
-      // Vertical tabs summaries.
       $('#checklistapi-checklist-form .vertical-tabs-panes > fieldset', \
                context).drupalSetSummary(function (context) {
         var total = $(':checkbox.checklistapi-item', context).size(), args = {};
         if (total) {
           args['@complete'] = $(':checkbox.checklistapi-item:checked', \
context).size();  args['@total'] = total;
           args['@percent'] = Math.round(args['@complete'] / args['@total'] * 100);
-          return Drupal.t('@complete of @total (@percent%) complete', args);
+          return Drupal.t('@complete of @total (@percent%)', args);
         }
       });
+    }
+  };

-      // Compact mode link.
+  /**
+   * Adds dynamic item descriptions toggling.
+   */
+  Drupal.behaviors.checklistapiCompactModeLink = {
+    attach: function (context) {
       $('#checklistapi-checklist-form .compact-link a', context).click(function () {
+        $(this).closest('#checklistapi-checklist-form').toggleClass('compact-mode');
         var is_compact_mode = \
$(this).closest('#checklistapi-checklist-form').hasClass('compact-mode');  $(this)
-          .text((is_compact_mode) ? Drupal.t('Hide descriptions') : Drupal.t('Show \
                descriptions'))
-          .attr('title', (is_compact_mode) ? Drupal.t('Compress layout by hiding \
                descriptions.') : Drupal.t('Expand layout to include descriptions.'))
-          .closest('#checklistapi-checklist-form').toggleClass('compact-mode');
-        document.cookie = 'Drupal.visitor.checklistapi_compact_mode=' + \
((is_compact_mode) ? 0 : 1); +          .text(is_compact_mode ? Drupal.t('Show item \
descriptions') : Drupal.t('Hide item descriptions')) +          .attr('title', \
is_compact_mode ? Drupal.t('Expand layout to include item descriptions.') : \
Drupal.t('Compress layout by hiding item descriptions.')); +        document.cookie = \
'Drupal.visitor.checklistapi_compact_mode=' + (is_compact_mode ? 1 : 0);  return \
false;  });
+    }
+  };

+  /**
+   * Prompts the user if they try to leave the page with unsaved changes.
+   *
+   * Note: Auto-checked items are not considered unsaved changes for the purpose
+   * of this feature.
+   */
+  Drupal.behaviors.checklistapiPromptBeforeLeaving = {
+    getFormState: function () {
+      return $('#checklistapi-checklist-form \
:checkbox.checklistapi-item').serializeArray().toString(); +    },
+    attach: function () {
+      var beginningState = this.getFormState();
+      $(window).bind('beforeunload', function () {
+        var endingState = \
Drupal.behaviors.checklistapiPromptBeforeLeaving.getFormState(); +        if \
(beginningState !== endingState) { +          return Drupal.t('Your changes will be \
lost if you leave the page without saving.'); +        }
+      });
+      $('#checklistapi-checklist-form').submit(function() {
+        $(window).unbind('beforeunload');
+      });
+      $('#checklistapi-checklist-form .clear-saved-progress').click(function() {
+        $(window).unbind('beforeunload');
+      });
     }
   };

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.module index \
                3cdd752..c229177 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.module
@@ -9,47 +9,30 @@
  */

 /**
- * Link should always be shown.
- */
-define('CHECKLISTAPI_LINK_CONTEXT_ANY', 1);
-
-/**
- * Link should only be shown if the item it belongs to has been previously
- * checked.
- */
-define('CHECKLISTAPI_LINK_CONTEXT_ITEM_CHECKED', 2);
-
-/**
- * Link should only be shown if the item it belongs to has not been previously
- * checked.
- */
-define('CHECKLISTAPI_LINK_CONTEXT_ITEM_UNCHECKED', 3);
-
-/**
- * Access callback: Checks the current user's access to a checklist.
+ * Access callback: Checks the current user's access to a given checklist.
  *
  * @param string $id
  *   The checklist ID.
  * @param string $operation
- *   The operation to test access for. Possible values are "view", "edit", and
- *   "any". Defaults to "any".
+ *   (optional) The operation to test access for. Accepted values are "view",
+ *   "edit", and "any". Defaults to "any".
  *
  * @return bool
  *   Returns TRUE if the current user has access to perform a given operation on
  *   the specified checklist, or FALSE if not.
  */
 function checklistapi_checklist_access($id, $operation = 'any') {
-  $view_access = user_access('view any checklistapi checklist') || user_access('view \
                ' . $id . ' checklistapi checklist');
-  $edit_access = user_access('edit any checklistapi checklist') || user_access('edit \
                ' . $id . ' checklistapi checklist');
-  switch ($operation) {
-    case 'view':
-      return $view_access;
-    case 'edit':
-      return $edit_access;
-    case 'any':
-    default:
-      return $view_access || $edit_access;
+  $all_operations = array('view', 'edit', 'any');
+  if (!in_array($operation, $all_operations)) {
+    throw new Exception(t('No such operation "@operation"', array(
+      '@operation' => $operation,
+    )));
   }
+
+  $access['view'] = user_access('view any checklistapi checklist') || \
user_access('view ' . $id . ' checklistapi checklist'); +  $access['edit'] = \
user_access('edit any checklistapi checklist') || user_access('edit ' . $id . ' \
checklistapi checklist'); +  $access['any'] = $access['view'] || $access['edit'];
+  return $access[$operation];
 }

 /**
@@ -79,10 +62,13 @@ function checklistapi_checklist_load($id) {
 function checklistapi_get_checklist_info($id = NULL) {
   $definitions = &drupal_static(__FUNCTION__);
   if (!isset($definitions)) {
+    // Get definitions.
     $definitions = module_invoke_all('checklistapi_checklist_info');
     $definitions = checklistapi_sort_array($definitions);
+    // Let other modules alter them.
     drupal_alter('checklistapi_checklist_info', $definitions);
     $definitions = checklistapi_sort_array($definitions);
+    // Inject checklist IDs.
     foreach ($definitions as $key => $value) {
       $definitions[$key] = array('#id' => $key) + $definitions[$key];
     }
@@ -120,6 +106,7 @@ function checklistapi_init() {
  */
 function checklistapi_menu() {
   $items = array();
+
   // Checklists report.
   $items['admin/reports/checklistapi'] = array(
     'title' => 'Checklists',
@@ -128,43 +115,49 @@ function checklistapi_menu() {
     'description' => 'Get an overview of your installed checklists with progress \
details.',  'file' => 'checklistapi.admin.inc',
   );
+
   // Individual checklists.
   foreach (checklistapi_get_checklist_info() as $id => $definition) {
-    if (!empty($definition['#path']) && !empty($definition['#title'])) {
-      // View/edit checklist.
-      $items[$definition['#path']] = array(
-        'title' => $definition['#title'],
-        'description' => (!empty($definition['#description'])) ? \
                $definition['#description'] : '',
-        'page callback' => 'drupal_get_form',
-        'page arguments' => array('checklistapi_checklist_form', $id),
-        'access callback' => 'checklistapi_checklist_access',
-        'access arguments' => array($id),
-        'file' => 'checklistapi.pages.inc',
-      );
-      if (!empty($checklist['#menu_name'])) {
-        $items[$definition['#path']]['menu_name'] = $definition['#menu_name'];
-      }
-      // Clear saved progress.
-      $items[$definition['#path'] . '/clear'] = array(
-        'title' => 'Clear',
-        'page callback' => 'drupal_get_form',
-        'page arguments' => array('checklistapi_checklist_clear_confirm', $id),
-        'access callback' => 'checklistapi_checklist_access',
-        'access arguments' => array($id, 'edit'),
-        'file' => 'checklistapi.pages.inc',
-        'type' => MENU_CALLBACK,
-      );
-      // Toggle compact mode.
-      $items[$definition['#path'] . '/compact'] = array(
-        'title' => 'Compact mode',
-        'page callback' => 'checklistapi_compact_page',
-        'access callback' => 'checklistapi_checklist_access',
-        'access arguments' => array($id),
-        'file' => 'checklistapi.pages.inc',
-        'type' => MENU_CALLBACK,
-      );
+    if (empty($definition['#path']) || empty($definition['#title'])) {
+      continue;
+    }
+
+    // View/edit checklist.
+    $items[$definition['#path']] = array(
+      'title' => $definition['#title'],
+      'description' => (!empty($definition['#description'])) ? \
$definition['#description'] : '', +      'page callback' => 'drupal_get_form',
+      'page arguments' => array('checklistapi_checklist_form', $id),
+      'access callback' => 'checklistapi_checklist_access',
+      'access arguments' => array($id),
+      'file' => 'checklistapi.pages.inc',
+    );
+    if (!empty($definition['#menu_name'])) {
+      $items[$definition['#path']]['menu_name'] = $definition['#menu_name'];
     }
+
+    // Clear saved progress.
+    $items[$definition['#path'] . '/clear'] = array(
+      'title' => 'Clear',
+      'page callback' => 'drupal_get_form',
+      'page arguments' => array('checklistapi_checklist_clear_confirm', $id),
+      'access callback' => 'checklistapi_checklist_access',
+      'access arguments' => array($id, 'edit'),
+      'file' => 'checklistapi.pages.inc',
+      'type' => MENU_CALLBACK,
+    );
+
+    // Toggle compact mode.
+    $items[$definition['#path'] . '/compact'] = array(
+      'title' => 'Compact mode',
+      'page callback' => 'checklistapi_compact_page',
+      'access callback' => 'checklistapi_checklist_access',
+      'access arguments' => array($id),
+      'file' => 'checklistapi.pages.inc',
+      'type' => MENU_CALLBACK,
+    );
   }
+
   return $items;
 }

@@ -173,6 +166,7 @@ function checklistapi_menu() {
  */
 function checklistapi_permission() {
   $perms = array();
+
   // Universal permissions.
   $perms['view checklistapi checklists report'] = array(
     'title' => t(
@@ -188,25 +182,28 @@ function checklistapi_permission() {
     'title' => t('Edit any checklist'),
     'description' => $edit_checklist_perm_description = t('Check and uncheck list \
items and save changes, or clear saved progress.'),  );
+
   // Per checklist permissions.
   foreach (checklistapi_get_checklist_info() as $id => $definition) {
-    if (!empty($id)) {
-      $perms['view ' . $id . ' checklistapi checklist'] = array(
-        'title' => t(
-          'View the !name checklist',
-          array('!name' => (checklistapi_checklist_access($id)) ? \
l($definition['#title'], $definition['#path']) : \
                drupal_placeholder($definition['#title']))
-        ),
-        'description' => $view_checklist_perm_description,
-      );
-      $perms['edit ' . $id . ' checklistapi checklist'] = array(
-        'title' => t(
-          'Edit the !name checklist',
-          array('!name' => (checklistapi_checklist_access($id)) ? \
l($definition['#title'], $definition['#path']) : \
                drupal_placeholder($definition['#title']))
-        ),
-        'description' => $edit_checklist_perm_description,
-      );
+    if (empty($id)) {
+      continue;
     }
+    $perms['view ' . $id . ' checklistapi checklist'] = array(
+      'title' => t(
+        'View the !name checklist',
+        array('!name' => (checklistapi_checklist_access($id)) ? \
l($definition['#title'], $definition['#path']) : \
drupal_placeholder($definition['#title'])) +      ),
+      'description' => $view_checklist_perm_description,
+    );
+    $perms['edit ' . $id . ' checklistapi checklist'] = array(
+      'title' => t(
+        'Edit the !name checklist',
+        array('!name' => (checklistapi_checklist_access($id)) ? \
l($definition['#title'], $definition['#path']) : \
drupal_placeholder($definition['#title'])) +      ),
+      'description' => $edit_checklist_perm_description,
+    );
   }
+
   return $perms;
 }

@@ -224,33 +221,38 @@ function checklistapi_permission() {
  */
 function checklistapi_sort_array(array $array) {
   $child_keys = element_children($array);
-  if (count($child_keys)) {
-    $incrementer = 0;
-    $children = array();
-    foreach ($child_keys as $key) {
-      // Move child to a temporary array for sorting.
-      $children[$key] = $array[$key];
-      unset($array[$key]);
-      // Supply a default weight if missing or invalid.
-      if (empty($children[$key]['#weight']) || \
                !is_numeric($children[$key]['#weight'])) {
-        $children[$key]['#weight'] = 0;
-      }
-      // Increase each weight incrementally to preserve the original order when
-      // not overridden. This accounts for undefined behavior in PHP's uasort()
-      // function when its comparison callback finds two values equal.
-      $children[$key]['#weight'] += ($incrementer++ / 1000);
-      // Descend into child.
-      $children[$key] = checklistapi_sort_array($children[$key]);
-    }
-    // Sort by weight.
-    uasort($children, 'element_sort');
-    // Remove incremental weight hack.
-    foreach ($children as $key => $child) {
-      $children[$key]['#weight'] = floor($children[$key]['#weight']);
+
+  if (!count($child_keys)) {
+    // No children to sort.
+    return $array;
+  }
+
+  $incrementer = 0;
+  $children = array();
+  foreach ($child_keys as $key) {
+    // Move child to a temporary array for sorting.
+    $children[$key] = $array[$key];
+    unset($array[$key]);
+    // Supply a default weight if missing or invalid.
+    if (empty($children[$key]['#weight']) || \
!is_numeric($children[$key]['#weight'])) { +      $children[$key]['#weight'] = 0;
     }
-    // Put children back in the main array.
-    $array += $children;
+    // Increase each weight incrementally to preserve the original order when
+    // not overridden. This accounts for undefined behavior in PHP's uasort()
+    // function when its comparison callback finds two values equal.
+    $children[$key]['#weight'] += ($incrementer++ / 1000);
+    // Descend into child.
+    $children[$key] = checklistapi_sort_array($children[$key]);
   }
+  // Sort by weight.
+  uasort($children, 'element_sort');
+  // Remove incremental weight hack.
+  foreach ($children as $key => $child) {
+    $children[$key]['#weight'] = floor($children[$key]['#weight']);
+  }
+  // Put children back in the main array.
+  $array += $children;
+
   return $array;
 }

@@ -279,8 +281,17 @@ function checklistapi_strtolowercamel($string) {
 function checklistapi_theme() {
   return array(
     'checklistapi_compact_link' => array(
-      'variables' => array('id' => NULL),
       'file' => 'checklistapi.pages.inc',
     ),
+    'checklistapi_progress_bar' => array(
+      'path' => drupal_get_path('module', 'checklistapi') . '/templates',
+      'template' => 'checklistapi-progress-bar',
+      'variables' => array(
+        'message' => '&nbsp;',
+        'number_complete' => 0,
+        'number_of_items' => 0,
+        'percent_complete' => 0,
+      ),
+    ),
   );
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.pages.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.pages.inc \
                index dd82ec9..9b832f3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.pages.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi.pages.inc
@@ -18,25 +18,25 @@
 function checklistapi_checklist_clear_confirm($form, &$form_state, $id) {
   $checklist = checklistapi_checklist_load($id);
   $form['#checklist'] = $checklist;
-  return confirm_form(
-    $form,
-    t('Are you sure you want to clear %title saved progress?', array(
-      '%title' => $checklist->title,
-    )),
-    $checklist->path,
-    t('All progress details will be erased. This action cannot be undone.'),
-    t('Clear'),
-    t('Cancel')
-  );
+  $question = t('Are you sure you want to clear %title saved progress?', array(
+    '%title' => $checklist->title,
+  ));
+  $description = t('All progress details will be erased. This action cannot be \
undone.'); +  $yes = t('Clear');
+  $no = t('Cancel');
+  return confirm_form($form, $question, $checklist->path, $description, $yes, $no);
 }

 /**
  * Form submission handler for checklistapi_checklist_clear_confirm().
  */
 function checklistapi_checklist_clear_confirm_submit($form, &$form_state) {
+  // If user confirmed, clear saved progress.
   if ($form_state['values']['confirm']) {
     $form['#checklist']->clearSavedProgress();
   }
+
+  // Redirect back to checklist.
   $form_state['redirect'] = $form['#checklist']->path;
 }

@@ -53,12 +53,26 @@ function checklistapi_checklist_clear_confirm_submit($form, \
                &$form_state) {
  */
 function checklistapi_checklist_form($form, &$form_state, $id) {
   $form['#checklist'] = $checklist = checklistapi_checklist_load($id);
+
+  $form['progress_bar'] = array(
+    '#type' => 'markup',
+    '#markup' => theme('checklistapi_progress_bar', array(
+      'message' => ($checklist->hasSavedProgress()) ? t('Last updated @date by \
!user', array( +        '@date' => $checklist->getLastUpdatedDate(),
+        '!user' => $checklist->getLastUpdatedUser(),
+      )) : '&nbsp;',
+      'number_complete' => $checklist->getNumberCompleted(),
+      'number_of_items' => $checklist->getNumberOfItems(),
+      'percent_complete' => round($checklist->getPercentComplete()),
+    )),
+  );
   if (checklistapi_compact_mode()) {
     $form['#attributes']['class'] = array('compact-mode');
   }
   $form['compact_mode_link'] = array(
     '#markup' => theme('checklistapi_compact_link'),
   );
+
   $form['checklistapi'] = array(
     '#attached' => array(
       'css' => array(drupal_get_path('module', 'checklistapi') . \
'/checklistapi.css'), @@ -67,6 +81,7 @@ function checklistapi_checklist_form($form, \
&$form_state, $id) {  '#tree' => TRUE,
     '#type' => 'vertical_tabs',
   );
+
   // Loop through groups.
   $num_autochecked_items = 0;
   $groups = $checklist->items;
@@ -79,6 +94,7 @@ function checklistapi_checklist_form($form, &$form_state, $id) {
     if (!empty($group['#description'])) {
       $form['checklistapi'][$group_key]['#description'] = \
filter_xss_admin($group['#description']);  }
+
     // Loop through items.
     foreach (element_children($group) as $item_key) {
       $item = &$group[$item_key];
@@ -112,21 +128,8 @@ function checklistapi_checklist_form($form, &$form_state, $id) {
       $links = array();
       foreach (element_children($item) as $link_key) {
         $link = &$item[$link_key];
-        $context = (!empty($link['#context'])) ? $link['#context'] : \
                CHECKLISTAPI_LINK_CONTEXT_ANY;
-        $show_link = FALSE;
-        if ($context == CHECKLISTAPI_LINK_CONTEXT_ANY) {
-          $show_link = TRUE;
-        }
-        elseif ($saved_item && $context == CHECKLISTAPI_LINK_CONTEXT_ITEM_CHECKED) {
-          $show_link = TRUE;
-        }
-        elseif (!$saved_item && $context == \
                CHECKLISTAPI_LINK_CONTEXT_ITEM_UNCHECKED) {
-          $show_link = TRUE;
-        }
-        if ($show_link) {
-          $options = (!empty($link['#options']) && is_array($link['#options'])) ? \
                $link['#options'] : array();
-          $links[] = l($link['#text'], $link['#path'], $options);
-        }
+        $options = (!empty($link['#options']) && is_array($link['#options'])) ? \
$link['#options'] : array(); +        $links[] = l($link['#text'], $link['#path'], \
$options);  }
       if (count($links)) {
         $description .= '<div class="links">' . implode(' | ', $links) . '</div>';
@@ -142,6 +145,7 @@ function checklistapi_checklist_form($form, &$form_state, $id) {
       );
     }
   }
+
   $form['actions'] = array(
     '#access' => $user_has_edit_access,
     '#type' => 'actions',
@@ -153,6 +157,7 @@ function checklistapi_checklist_form($form, &$form_state, $id) {
     ),
     'clear' => array(
       '#access' => $checklist->hasSavedProgress(),
+      '#attributes' => array('class' => array('clear-saved-progress')),
       '#href' => $checklist->path . '/clear',
       '#title' => t('Clear saved progress'),
       '#type' => 'link',
@@ -163,17 +168,16 @@ function checklistapi_checklist_form($form, &$form_state, $id) \
{  // to prevent it from reappearing after saving the form. (Testing the request
   // method may not be the "correct" way to accomplish this.)
   if ($num_autochecked_items && $_SERVER['REQUEST_METHOD'] == 'GET') {
-    drupal_set_message(t(
-      format_plural(
-        $num_autochecked_items,
-        '%checklist found 1 unchecked item that was already completed and checked it \
                for you. Save the form to record the change.',
-        '%checklist found @num unchecked items that were already completed and \
                checked them for you. Save the form to record the changes.'
-      ),
-      array(
-        '%checklist' => $checklist->title,
-        '@num' => $num_autochecked_items,
-      )
-    ), 'status');
+    $args = array(
+      '%checklist' => $checklist->title,
+      '@num' => $num_autochecked_items,
+    );
+    $message = format_plural(
+      $num_autochecked_items,
+      t('%checklist found 1 unchecked item that was already completed and checked it \
for you. Save the form to record the change.', $args), +      t('%checklist found \
@num unchecked items that were already completed and checked them for you. Save the \
form to record the changes.', $args) +    );
+    drupal_set_message($message, 'status');
   }

   return $form;
@@ -200,7 +204,7 @@ function checklistapi_checklist_form_submit($form, &$form_state) \
                {
  * can be set in the settings.php file.
  *
  * @return bool
- *   TRUE when in compact mode, FALSE when in expanded mode.
+ *   TRUE when in compact mode, or FALSE when in expanded mode.
  */
 function checklistapi_compact_mode() {
   return isset($_COOKIE['Drupal_visitor_checklistapi_compact_mode']) ? \
$_COOKIE['Drupal_visitor_checklistapi_compact_mode'] : \
variable_get('checklistapi_compact_mode', FALSE); @@ -210,7 +214,8 @@ function \
                checklistapi_compact_mode() {
  * Menu callback: Sets whether the admin menu is in compact mode or not.
  *
  * @param string $mode
- *   Valid values are 'on' and 'off'.
+ *   (optional) The mode to set compact mode to. Accepted values are "on" and
+ *   "off". Defaults to "off".
  */
 function checklistapi_compact_page($mode = 'off') {
   user_cookie_save(array('checklistapi_compact_mode' => ($mode == 'on')));
@@ -226,11 +231,11 @@ function theme_checklistapi_compact_link() {
   $output = '<div class="compact-link">';
   if (checklistapi_compact_mode()) {
     $output .= l(
-      t('Show descriptions'),
-      request_path() . '/compact/off',
+      t('Show item descriptions'),
+      current_path() . '/compact/off',
       array(
         'attributes' => array(
-          'title' => t('Expand layout to include descriptions.'),
+          'title' => t('Expand layout to include item descriptions.'),
         ),
         'query' => drupal_get_destination(),
       )
@@ -238,11 +243,11 @@ function theme_checklistapi_compact_link() {
   }
   else {
     $output .= l(
-      t('Hide descriptions'),
-      request_path() . '/compact/on',
+      t('Hide item descriptions'),
+      current_path() . '/compact/on',
       array(
         'attributes' => array(
-          'title' => t('Compress layout by hiding descriptions.'),
+          'title' => t('Compress layout by hiding item descriptions.'),
         ),
         'query' => drupal_get_destination(),
       )
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi_example/checklistapi_example.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi_example/checklistapi_example.info
 index ad9f7ed..fe5e057 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi_example/checklistapi_example.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/checklistapi_example/checklistapi_example.info
 @@ -5,9 +5,9 @@ package = Example modules
 dependencies[] = checklistapi
 configure = admin/config/development/checklistapi-example

-; Information added by drupal.org packaging script on 2012-07-22
-version = "7.x-1.0-beta3"
+; Information added by  packaging script on 2013-11-11
+version = "7.x-1.1"
 core = "7.x"
 project = "checklistapi"
-datestamp = "1342935379"
+datestamp = "1384130305"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/lib/Drupal/checklistapi/ChecklistapiChecklist.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/lib/Drupal/checklistapi/ChecklistapiChecklist.php
 index 2903c72..6a06b33 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/lib/Drupal/checklistapi/ChecklistapiChecklist.php
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/lib/Drupal/checklistapi/ChecklistapiChecklist.php
 @@ -64,7 +64,7 @@ class ChecklistapiChecklist {
    *
    * @var int
    */
-  public $totalItems = 0;
+  public $numberOfItems = 0;

   /**
    * The checklist groups and items.
@@ -88,7 +88,7 @@ class ChecklistapiChecklist {
    */
   public function __construct(array $definition) {
     foreach (element_children($definition) as $group_key) {
-      $this->totalItems += count(element_children($definition[$group_key]));
+      $this->numberOfItems += count(element_children($definition[$group_key]));
       $this->items[$group_key] = $definition[$group_key];
       unset($definition[$group_key]);
     }
@@ -100,6 +100,67 @@ class ChecklistapiChecklist {
   }

   /**
+   * Gets the total number of completed items.
+   *
+   * @return int
+   *   The number of completed items.
+   */
+  public function getNumberCompleted() {
+    return (!empty($this->savedProgress['#completed_items'])) ? \
$this->savedProgress['#completed_items'] : 0; +  }
+
+  /**
+   * Gets the total number of items.
+   *
+   * @return int
+   *   The number of items.
+   */
+  public function getNumberOfItems() {
+    return $this->numberOfItems;
+  }
+
+  /**
+   * Gets the name of the last user to update the checklist.
+   *
+   * @return string
+   *   The themed name of the last user to update the checklist, or 'n/a' if
+   *   there is no record of such a user.
+   */
+  public function getLastUpdatedUser() {
+    if (isset($this->savedProgress['#changed_by'])) {
+      $last_updated_user = user_load($this->savedProgress['#changed_by']);
+      return theme('username', array('account' => $last_updated_user));
+    }
+    else {
+      return t('n/a');
+    }
+  }
+
+  /**
+   * Gets the last updated date.
+   *
+   * @return string
+   *   The last updated date formatted with format_date(), or 'n/a' if there is
+   *   no saved progress.
+   */
+  public function getLastUpdatedDate() {
+    return (!empty($this->savedProgress['#changed'])) ? \
format_date($this->savedProgress['#changed']) : t('n/a'); +  }
+
+  /**
+   * Gets the percentage of items complete.
+   *
+   * @return float
+   *   The percent complete.
+   */
+  public function getPercentComplete() {
+    if ($this->getNumberOfItems() == 0) {
+      return 100;
+    }
+    return ($this->getNumberCompleted() / $this->getNumberOfItems()) * 100;
+  }
+
+  /**
    * Clears the saved progress for the checklist.
    *
    * Deletes the Drupal variable containing the checklist's saved progress.
@@ -118,7 +179,7 @@ class ChecklistapiChecklist {
    *   The Drupal variable name.
    */
   public function getSavedProgressVariableName() {
-    return 'checklistapi_checklist_' . $this->id;
+    return "checklistapi_checklist_{$this->id}";
   }

   /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/templates/checklistapi-progress-bar.tpl.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/templates/checklistapi-progress-bar.tpl.php
 new file mode 100644
index 0000000..383dbf8
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/templates/checklistapi-progress-bar.tpl.php
 @@ -0,0 +1,22 @@
+<?php
+
+/**
+ * @file
+ * Default theme implementation for the Checklist API progress bar.
+ *
+ * Available variables:
+ * - $message: The progress message.
+ * - $number_complete: The number of items complete.
+ * - $number_of_items: The total number of items.
+ * - $percent_complete: The percent of items complete.
+ *
+ * @see template_preprocess()
+ * @see template_preprocess_checklistapi_progress_bar()
+ * @see template_process()
+ */
+?>
+<div class="progress">
+  <div class="bar"><div class="filled" style="width:<?php print $percent_complete; \
?>%;"></div></div> +  <div class="percentage"><?php print $number_complete; ?> of \
<?php print $number_of_items; ?> (<?php print $percent_complete; ?>%)</div> +  <div \
class="message"><?php print $message; ?></div> +</div>
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/checklistapi.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/checklistapi.test \
                index 816216d..d96c3f1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/checklistapi.test
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/checklistapi.test
 @@ -11,7 +11,7 @@
 class ChecklistapiUnitTestCase extends DrupalUnitTestCase {

   /**
-   * Overrides DrupalUnitTestCase::getInfo().
+   * {@inheritdoc}
    */
   public static function getInfo() {
     return array(
@@ -22,7 +22,7 @@ class ChecklistapiUnitTestCase extends DrupalUnitTestCase {
   }

   /**
-   * Overrides DrupalUnitTestCase::setUp().
+   * {@inheritdoc}
    */
   public function setUp() {
     drupal_load('module', 'checklistapi');
@@ -34,7 +34,8 @@ class ChecklistapiUnitTestCase extends DrupalUnitTestCase {
    * Test checklistapi_sort_array().
    */
   public function testChecklistapiSortArray() {
-    $input = array_pop(checklistapi_test_checklistapi_checklist_info());
+    $checklistapi_test_definition = checklistapi_test_checklistapi_checklist_info();
+    $input = array_pop($checklistapi_test_definition);
     $output = checklistapi_sort_array($input);
     $this->assertEqual($output['group_two']['#weight'], 0, 'Supplied a default for \
                omitted element weight.');
     $this->assertEqual($output['group_three']['#weight'], 0, 'Supplied a default in \
place of invalid element weight.'); @@ -71,7 +72,7 @@ class ChecklistapiWebTestCase \
extends DrupalWebTestCase {  protected $privilegedUser;

   /**
-   * Overrides DrupalWebTestCase::getInfo().
+   * {@inheritdoc}
    */
   public static function getInfo() {
     return array(
@@ -82,7 +83,7 @@ class ChecklistapiWebTestCase extends DrupalWebTestCase {
   }

   /**
-   * Overrides DrupalWebTestCase::setUp().
+   * {@inheritdoc}
    */
   public function setUp() {
     parent::setUp('checklistapi_example');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/modules/checklistapi_test/checklistapi_test.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/modules/checklistapi_test/checklistapi_test.info
 index fba8b9c..13a6848 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/modules/checklistapi_test/checklistapi_test.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/checklistapi/tests/modules/checklistapi_test/checklistapi_test.info
 @@ -6,9 +6,9 @@ core = 7.x
 dependencies[] = checklistapi
 hidden = TRUE

-; Information added by drupal.org packaging script on 2012-07-22
-version = "7.x-1.0-beta3"
+; Information added by  packaging script on 2013-11-11
+version = "7.x-1.1"
 core = "7.x"
 project = "checklistapi"
-datestamp = "1342935379"
+datestamp = "1384130305"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/CHANGELOG.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/CHANGELOG.txt index \
                0e72a24..d47e6ea 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/CHANGELOG.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/CHANGELOG.txt
@@ -1,3 +1,23 @@
+2013-04-12
+New stable release 7.x-1.13
+
+Bug fixes:
+
+[#1063482] by nod_, wwalc, roderik, helior, hadsie: Use Libraries API for CKEditor
+[#1898294] by kscheirer: Fatal error if Libraries module is enabled after CKEditor
+[#1961596] by jcisio: Added 'feature_source()' option so that ckeditor_profile() \
component is visible in drush. +[#1356026] by Volx, hctom: Fixed Profile loses text \
formats when exported into a feature using Drush. +[#1895278] by wwalc WYSIWYG editor \
should allow Drupal to trigger 'formUpdated' event +[#1957066] by rudiedirkx: Use \
field_extra_fields to be able to position the "Rich text editor settings" fieldset \
+[#1959754] by wwalc: CKFinder is not installed correctly - improve information in \
the status report +[#1810910] by mokaspar, jcisio, DeFr: Fixed Comments gets filtered \
out by ckeditor_filter_xss(). +[#1909318] by Simon Georges: Useless file inclusion in \
ckeditor.info. +[#1603014] by anou, SebCorbin: Corrected strings used in Security \
section. +[#1889010] by michal_cksource: Problem with CKFinder files upload when \
private download method is used +[#1885950] by michal_cksource: Fix HTML validation \
for iframe in profile configuration +[#1885938] by michal_cksource: Disable div based \
editor on default +[#1872064] by dczepierga: Undefined index: loadPlugins in \
ckeditor_modules_disabled() and ckeditor_modules_uninstalled() +
 2012-12-22
 New stable release 7.x-1.12

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.api.php index \
                447cea0..b9b91d6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.api.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.api.php
@@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.config.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.config.js index \
                ef4c43d..01def49 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.config.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.config.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.info index \
                a5bf444..76f725f 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.info
@@ -3,10 +3,10 @@ description = "Enables CKEditor (WYSIWYG HTML editor) for use \
instead of plain t  core        = 7.x
 package     = User interface
 configure   = admin/config/content/ckeditor
-files[]     = includes/ckeditor.user.inc
-; Information added by drupal.org packaging script on 2012-12-22
-version = "7.x-1.12"
+
+; Information added by drupal.org packaging script on 2013-04-12
+version = "7.x-1.13"
 core = "7.x"
 project = "ckeditor"
-datestamp = "1356180966"
+datestamp = "1365759619"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.install index \
                b35281d..1a6eadb 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.install
@@ -300,9 +300,10 @@ function \
_ckeditor_requirements_ckfinder_config_check($profile_name) {  $config_path = \
ckfinder_path('local') . '/config.php';

   if (!file_exists($config_path)) {
-    return t('!ckfinder is not installed correctly: <code>!config</code> not found. \
Make sure that you uploaded all files and did not accidentally remove the \
configuration file.', array( +    return t('!ckfinder is not installed correctly: \
<code>!config</code> not found. Make sure that you uploaded all files and did not \
accidentally remove the configuration file. If you installed CKFinder in other \
location (e.g. in the libraries folder), make sure to update the path to CKFinder in \
!global.', array(  '!config' => $config_path,
-          '!ckfinder' => '<a href="http://ckfinder.com">CKFinder</a>'
+          '!ckfinder' => '<a href="http://cksource.com/ckfinder">CKFinder</a>',
+          '!global' => l(t('CKEditor Global Profile'), \
'admin/config/content/ckeditor/editg')  ));
   }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.module index \
                ab868ee..809b201 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.module
@@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
@@ -299,7 +299,7 @@ function ckeditor_pre_render_text_format($element) {
 /**
  * Load all profiles. Just load one profile if $name is passed in.
  */
-function ckeditor_profile_load($name = '', $clear = FALSE) {
+function ckeditor_profile_load($name = '', $clear = FALSE, $check_access = TRUE) {
   static $profiles = array();
   global $user;

@@ -311,7 +311,12 @@ function ckeditor_profile_load($name = '', $clear = FALSE) {

       $profiles[$data->name] = $data;
     }
-    $input_formats = filter_formats($user);
+    if ($check_access === FALSE) {
+      // don't check if user has access to filter formats, needed for exporting as \
feature with drush +      $input_formats = filter_formats();
+    } else {
+      $input_formats = filter_formats($user);
+    }
     $result = db_select('ckeditor_input_format', 'f')->fields('f')->execute();
     foreach ($result as $data) {
       if (isset($input_formats[$data->format])) {
@@ -361,14 +366,22 @@ function ckeditor_module_path($mode = 'relative') {
  *   Path of library in the Drupal installation.
  */
 function ckeditor_library_path($mode = 'relative') {
+  $lib_path = 'sites/all/libraries';
+
+  if (function_exists('libraries_get_path')) {
+    $path = libraries_get_path('ckeditor');
+    if ($path !== FALSE) {
+      $lib_path = drupal_substr($path, 0, strlen($path) - 9);
+    }
+  }
   switch ($mode) {
     default:
     case 'relative':
-      return ckeditor_base_path('relative') . '/sites/all/libraries';
+      return ckeditor_base_path('relative') . '/' . $lib_path;
     case 'local':
-      return ckeditor_base_path('local') . '/sites/all/libraries';
+      return ckeditor_base_path('local') . '/' . $lib_path;
     case 'url':
-      return 'sites/all/libraries';
+      return $lib_path;
   }
 }

@@ -545,6 +558,7 @@ function ckeditor_features_api() {
   return array(
     'ckeditor_profile' => array(
       'name' => t('CKEditor profiles'),
+      'feature_source' => TRUE,
       'default_hook' => 'ckeditor_profile_defaults',
       'default_file' => FEATURES_DEFAULTS_INCLUDED,
       'file' => drupal_get_path('module', 'ckeditor') . \
'/includes/ckeditor.features.inc', @@ -603,6 +617,10 @@ function \
                ckeditor_file_download($uri) {
  */
 function ckeditor_modules_enabled($modules) {
   module_load_include('inc', 'ckeditor', 'includes/ckeditor.lib');
+  if (in_array('libraries', $modules)) {
+    // Check and update path to CKEditor in the global profile
+    _ckeditor_requirements_isinstalled();
+  }
   $profiles_list = ckeditor_profile_input_formats();
   $plugins_list = ckeditor_load_plugins();
   foreach ($profiles_list AS $_profile => $_inputs) {
@@ -638,6 +656,7 @@ function ckeditor_modules_disabled($modules) {
   foreach ($profiles_list AS $_profile => $_inputs) {
     $changed = FALSE;
     $profile = ckeditor_profile_load($_profile);
+    if (!isset($profile->settings['loadPlugins'])) continue;
     foreach (array_keys((array) $profile->settings['loadPlugins']) as $plugin_name) \
{  if (!array_key_exists($plugin_name, $plugins_list)) {
         $profile->settings['loadPlugins'][$plugin_name]['active'] = 0;
@@ -667,6 +686,7 @@ function ckeditor_modules_uninstalled($modules) {
   foreach ($profiles_list AS $_profile => $_inputs) {
     $changed = FALSE;
     $profile = ckeditor_profile_load($_profile);
+    if (!isset($profile->settings['loadPlugins'])) continue;
     foreach (array_keys((array) $profile->settings['loadPlugins']) as $plugin_name) \
{  if (!array_key_exists($plugin_name, $plugins_list)) {
         unset($profile->settings['loadPlugins'][$plugin_name]);
@@ -682,4 +702,17 @@ function ckeditor_modules_uninstalled($modules) {
           ->execute();
     }
   }
-}
\ No newline at end of file
+}
+
+
+/**
+ * Implements hook_field_extra_fields().
+ */
+function ckeditor_field_extra_fields() {
+  $fields['user']['user']['form']['ckeditor'] = array(
+    'label' => t('Rich text editor settings'),
+    'description' => t('Rich text editor settings'),
+    'weight' => 10,
+  );
+  return $fields;
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.styles.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.styles.js index \
                fc80b18..b87d4b0 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.styles.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/ckeditor.styles.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.inc \
                index b3c576f..88ff948 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.inc
 @@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
@@ -350,7 +350,7 @@ function ckeditor_admin_global_profile_form($form, $form_state, \
$mode = 'add') {  '#maxlength' => 128,
     '#description' => t(
         'The path to CKFinder (AJAX based file manager downloaded from !ckfindercom) \
                relative to the document root.', array(
-      '!ckfindercom' => l(t('ckfinder.com'), 'http://ckfinder.com/download')
+      '!ckfindercom' => l(t('ckfinder.com'), 'http://cksource.com/ckfinder')
         )
     ) .
     '<br />' .
@@ -676,7 +676,7 @@ function ckeditor_admin_profile_form($form, $form_state, $profile \
= NULL) {  '#type' => 'item',
     '#title' => t('Security filters'),
     '#description' => t(
-        'Below is a list of security filters along with their status for each text \
format.<br/><br/>The following statuses are available:!img_enabled - the filter is \
configured for a given text format and will be run on the content during the \
filtering proces.!img_disabled - the filter is disabled for a given text format and \
will not be run on the content during the filtering process.<br/><br/>In order to \
modify the security filters settings for each of the text formats, you need to visit \
the text format configuration sections as listed below: !elem_format_config', array( \
+      'Below is a list of security filters along with their status for each text \
format.<br /><br />The following statuses are available: !img_enabled - the filter is \
configured for a given text format and will be run on the content during the \
filtering process. !img_disabled - the filter is disabled for a given text format and \
will not be run on the content during the filtering process.<br /><br />In order to \
modify the security filters settings for each of the text formats, you need to visit \
                the text format configuration sections as listed below: \
                !elem_format_config', array(
       '!img_enabled' => '</br><img src="' . $module_drupal_path . \
                '/images/tick.png"/>',
       '!img_disabled' => '</br><img src="' . $module_drupal_path . \
'/images/delete.png"/>',  '!elem_format_config' => '<ul \
class="text-formats-config"></ul>' @@ -875,7 +875,7 @@ function \
ckeditor_admin_profile_form($form, $form_state, $profile = NULL) {  \
$form['appearance']['use_divarea'] = array(  '#type' => 'radios',
       '#title' => t('"Div-based" editor'),
-      '#default_value' => !empty($profile->settings['use_divarea']) ? \
$profile->settings['use_divarea'] : 't', +      '#default_value' => \
!empty($profile->settings['use_divarea']) ? $profile->settings['use_divarea'] : 'f',  \
'#options' => array(  't' => t('Enabled'),
         'f' => t('Disabled')
@@ -1111,7 +1111,7 @@ function ckeditor_admin_profile_form($form, $form_state, \
$profile = NULL) {  'Set the file browser settings. A file browser will allow you to \
browse the files stored on the server and embed them as links, images, or Flash \
movies. CKEditor is compatible with such Drupal modules as !imce or !elfinder. \
CKEditor can be also integrated with !ckfinder, an advanced Ajax file manager.', \
array(  '!imce' => l(t('IMCE'), 'http://drupal.org/project/imce'),
       '!elfinder' => l(t('elFinder'), 'http://drupal.org/project/elfinder'),
-      '!ckfinder' => l(t('CKFinder'), 'http://ckfinder.com')
+      '!ckfinder' => l(t('CKFinder'), 'http://cksource.com/ckfinder')
         )
     )
   );
@@ -1744,7 +1744,7 @@ function _ckeditor_admin_profile_form_security_filters(&$form, \
$profile, $securi  '#type' => 'item',
           '#title' => t("@data", array('@data' => $filter_conf['title'])),
           '#description' => t("!data", array('!data' => \
                $filter_conf['description'])),
-          '#prefix' => t("<div class=\"filter-wrapper\"></div>!formats", \
array("!formats" => $filter_text_formats)), +          '#prefix' => "<div \
class=\"filter-wrapper\"></div>" . $filter_text_formats,  '#suffix' => "</div>"
         );
       }
@@ -1768,14 +1768,15 @@ function ckeditor_skinframe() {
   $module_drupal_path = ckeditor_module_path('relative');

   $html = "<!DOCTYPE html>";
+  $html .= "<html>";
   $html .= "<head>";
-  $html .= "<script src=\"{$editor_path}/ckeditor.js\"></script>";
+  $html .= '<title>CKEditor UI Color Picker</title>';
+  $html .= "<script type=\"text/javascript\" \
src=\"{$editor_path}/ckeditor.js\"></script>";  $html .= "</head>";
   $html .= "<body>";
   $html .= "<input type=\"hidden\" name=\"uicolor_user\"/>";
   $html .= "<div id=\"editor\" style=\"height: 200px;\">Click the <strong>UI Color \
                Picker</strong> button to set your color preferences.</div>";
-  $html .= "
-<script>
+  $html .= "<script type=\"text/javascript\">
 var skin = window.location.search.match(/skin=([^&]*)/)[1];
 var uicolor = window.location.search.match(/uicolor=([^&]*)/)[1];
 var ckeditorUiColorOnChange = function() {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.js \
                index f1d169f..39809ae 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.admin.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
 (function ($) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.drush.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.drush.inc \
                index 1d23960..05e12b1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.drush.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.drush.inc
 @@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.features.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.features.inc \
                index ee5b517..c68c5a9 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.features.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.features.inc
 @@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
@@ -73,7 +73,7 @@ function ckeditor_profile_features_export_render($module_name, \
$data) {  $profiles = array();
   $roles = user_roles();
   foreach ($data as $name) {
-    $profile = (array) ckeditor_profile_load($name);
+    $profile = (array) ckeditor_profile_load($name, TRUE, FALSE);

     $profiles[$name] = $profile;
   }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.lib.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.lib.inc \
                index e054d16..4fa5d68 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.lib.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.lib.inc
@@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
@@ -655,7 +655,7 @@ function _ckeditor_script_path() {
   elseif (file_exists($module_path . '/ckeditor/ckeditor/ckeditor.js')) {
     $jspath = '%m/ckeditor/ckeditor';
   }
-  elseif (file_exists('sites/all/libraries/ckeditor/ckeditor.js')) {
+  elseif (file_exists(ckeditor_library_path('url') . '/ckeditor/ckeditor.js')) {
     $jspath = '%l/ckeditor';
   }
   return $jspath;
@@ -830,8 +830,8 @@ function ckeditor_profile_settings_compile($global_profile, \
$profile) {  }

   //add support for divarea plugin from CKE4
-  if (((isset($conf['use_divarea']) && $conf['use_divarea'] == 't') || \
!isset($conf['use_divarea'])) && file_exists($editor_local_path . \
                '/plugins/divarea/plugin.js')) {
-    $settings['loadPlugins']['divarea'] = array('name' => 'divarea', 'path' => \
$editor_path . '/plugins/divarea/', 'buttons' => FALSE, 'default' => 't'); +  if \
(isset($conf['use_divarea']) && $conf['use_divarea'] == 't' && \
file_exists($editor_local_path . '/plugins/divarea/plugin.js')) { +    \
$settings['loadPlugins']['divarea'] = array('name' => 'divarea', 'path' => \
$editor_path . '/plugins/divarea/', 'buttons' => FALSE, 'default' => 'f');  }

   if (isset($conf['html_entities']) && $conf['html_entities'] == 'f') {
@@ -952,16 +952,25 @@ function ckeditor_profile_settings_compile($global_profile, \
$profile) {  $_SESSION['ckeditor'][$profile_name]['UserFilesAbsolutePath'] = \
strtr('%d%b%f/', array("%f" => variable_get('file_public_path', conf_path() . \
'/files'), "%u" => $user->uid, "%b" => base_path(), "%d" => \
ckeditor_get_document_root_full_path(), "%n" => $user->name));  }
       if (variable_get('file_default_scheme', '') == 'private') {
-        $private_dir = isset($global_profile->settings['private_dir']) ? \
trim($global_profile->settings['private_dir'], '\/') : ''; +        $private_dir = \
isset($global_profile->settings['private_dir']) ? \
trim($global_profile->settings['private_dir'], '/') : '';  if (!empty($private_dir)) \
                {
           $private_dir = strtr($private_dir, array('%u' => $user->uid, '%n' => \
                $user->name));
           $_SESSION['ckeditor'][$profile_name]['UserFilesPath'] = \
                url('system/files') . '/' . $private_dir . '/';
-          $_SESSION['ckeditor'][$profile_name]['UserFilesAbsolutePath'] = \
variable_get('file_private_path', '') . DIRECTORY_SEPARATOR . $private_dir . \
DIRECTORY_SEPARATOR; +          $private_upload_path = file_uri_target('private://' . \
variable_get('file_private_path', '')) . '/' . $private_dir;  }
         else {
           $_SESSION['ckeditor'][$profile_name]['UserFilesPath'] = \
                url('system/files') . '/';
-          $_SESSION['ckeditor'][$profile_name]['UserFilesAbsolutePath'] = \
variable_get('file_private_path', '') . DIRECTORY_SEPARATOR; +          \
$private_upload_path =  file_uri_target('private://' . \
variable_get('file_private_path', ''));  }
+        //add '/' to beginning of path if necessary
+        if (strpos(variable_get('file_private_path', ''), '/') === 0 && \
$private_upload_path[0] != '/') { +          $private_upload_path = '/' . \
$private_upload_path; +        }
+        //check if CKEditor private dir exists and create it if not
+        if ($private_dir && !is_dir($private_upload_path)) {
+          mkdir($private_upload_path, 0755, TRUE);
+        }
+        $_SESSION['ckeditor'][$profile_name]['UserFilesAbsolutePath'] = \
drupal_realpath($private_upload_path) . '/';  }
     }
   }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.page.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.page.inc \
                index c207a64..ba74242 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.page.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.page.inc
@@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
@@ -160,7 +160,7 @@ function ckeditor_help_delegate($path, $arg) {
           '<ol>' .
           '<li>' .
           t('By using !ckfinder (commercial), an advanced Ajax file manager.', \
                array(
-            '!ckfinder' => l(t('CKFinder'), 'http://ckfinder.com'),
+            '!ckfinder' => l(t('CKFinder'), 'http://cksource.com/ckfinder'),
               )
           ) .
           '</li>' .
@@ -215,7 +215,7 @@ function ckeditor_filter_xss() {
     if ($name == 'filter_html' && $security_filters['filters']['filter_html'] == 1) \
                {
       preg_match_all("|</?([a-z][a-z0-9]*)(?:\b[^>]*)>|i", $text, $matches);
       if ($matches[1]) {
-        $tags = array_unique($matches[1]);
+        $tags = array_unique(array_merge($matches[1], array('!--')));
         $text = filter_xss($text, $tags);
       }
       continue;
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.user.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.user.inc \
                index 063f1bc..11c667d 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.user.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.user.inc
@@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.utils.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.utils.js \
                index 27552a4..17a1769 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.utils.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/ckeditor.utils.js
@@ -51,6 +51,16 @@ window.CKEDITOR_BASEPATH = Drupal.settings.ckeditor.editor_path;
         else {
           CKEDITOR.addCss(ev.editor.config.extraCss);
         }
+        // Let Drupal trigger formUpdated event [#1895278]
+        ev.editor.on('change', function(ev) {
+          $(ev.editor.element.$).trigger('change');
+        });
+        ev.editor.on('blur', function(ev) {
+          $(ev.editor.element.$).trigger('blur');
+        });
+        ev.editor.on('focus', function(ev) {
+          $(ev.editor.element.$).trigger('click');
+        });
       },
       instanceReady : function(ev)
       {
@@ -78,13 +88,20 @@ window.CKEDITOR_BASEPATH = Drupal.settings.ckeditor.editor_path;
           body.attr('id', ev.editor.config.bodyId);
         if (typeof(Drupal.smileysAttach) != 'undefined' && \
typeof(ev.editor.dataProcessor.writer) != 'undefined')  \
ev.editor.dataProcessor.writer.indentationChars = '    '; +
+        // Let Drupal trigger formUpdated event [#1895278]
+        ((ev.editor.editable && ev.editor.editable()) || \
ev.editor.document.getBody()).on( 'keyup', function() { +          \
$(ev.editor.element.$).trigger('keyup'); +        });
+        ((ev.editor.editable && ev.editor.editable()) || \
ev.editor.document.getBody()).on( 'keydown', function() { +          \
$(ev.editor.element.$).trigger('keydown'); +        });
       },
       focus : function(ev)
       {
         Drupal.ckeditorInstance = ev.editor;
         Drupal.ckeditorActiveId = ev.editor.name;
-      }
-      ,
+      },
       afterCommandExec: function(ev)
       {
         if (ev.data.name != 'maximize') {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/filemanager.config.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/filemanager.config.php
 index ea80deb..0adfe49 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/filemanager.config.php
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/filemanager.config.php
 @@ -2,7 +2,7 @@

 /**
  * CKEditor - The text editor for the Internet - http://ckeditor.com
- * Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+ * Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
  *
  * == BEGIN LICENSE =  *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/jqueryUI/sort.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/jqueryUI/sort.js \
                index 1598773..5acea57 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/jqueryUI/sort.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/jqueryUI/sort.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */
 jQuery(document).ready(function() {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/dialogs/uicolor.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/dialogs/uicolor.js
 index 86c1d3a..16ddf2e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/dialogs/uicolor.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/dialogs/uicolor.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/bg.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/bg.js \
                index 8447d0e..96e28ef 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/bg.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/bg.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cs.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cs.js \
                index 94ddba9..048ad31 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cs.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cs.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cy.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cy.js \
                index d8322bd..6e4adb8 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cy.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/cy.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/da.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/da.js \
                index eb4965f..10040a8 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/da.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/da.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/de.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/de.js \
                index 9c303d9..b469f10 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/de.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/de.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/el.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/el.js \
                index 7be30c4..a84deea 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/el.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/el.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/en.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/en.js \
                index fbae027..80ad586 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/en.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/en.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/eo.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/eo.js \
                index a8efd89..ac2c79b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/eo.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/eo.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/et.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/et.js \
                index 6a13b07..e2c4871 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/et.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/et.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fa.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fa.js \
                index 87ca9c3..98f0187 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fa.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fa.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fi.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fi.js \
                index 111eb69..08c2ac1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fi.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fi.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fr.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fr.js \
                index 3feab4b..aa40c7b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fr.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/fr.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/he.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/he.js \
                index bbe2f21..7f9db2f 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/he.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/he.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/hr.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/hr.js \
                index c3d2e5b..f328bae 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/hr.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/hr.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/it.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/it.js \
                index 02065f5..58b4939 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/it.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/it.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/mk.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/mk.js \
                index 3d01092..880eee0 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/mk.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/mk.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nb.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nb.js \
                index 5758be1..611ccce 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nb.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nb.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nl.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nl.js \
                index 103152f..ac383f5 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nl.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/nl.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/no.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/no.js \
                index 6b979e4..4b7e729 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/no.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/no.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/pl.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/pl.js \
                index 34c8163..2104dd9 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/pl.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/pl.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/tr.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/tr.js \
                index d1920bf..56c683b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/tr.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/tr.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/ug.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/ug.js \
                index b067647..4eee7df 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/ug.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/ug.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/uk.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/uk.js \
                index d0c8ee3..7c738bd 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/uk.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/uk.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/vi.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/vi.js \
                index 090329b..0dc823a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/vi.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/vi.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/zh-cn.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/zh-cn.js \
                index a0a3b33..df03892 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/zh-cn.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/lang/zh-cn.js
 @@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/plugin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/plugin.js \
                index 9ced4cc..cc638da 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/plugin.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/includes/uicolor/plugin.js
@@ -1,5 +1,5 @@
 /**
- * @license Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights \
reserved. + * @license Copyright (c) 2003-2013, CKSource - Frederico Knabben. All \
                rights reserved.
  * For licensing, see LICENSE.html or http://ckeditor.com/license
  */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/drupalbreaks/plugin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/drupalbreaks/plugin.js \
                index 62f0157..57e9887 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/drupalbreaks/plugin.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/drupalbreaks/plugin.js
 @@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/imce/plugin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/imce/plugin.js index \
                f5fd882..7be4ded 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/imce/plugin.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/imce/plugin.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/media/plugin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/media/plugin.js index \
                c5c39fe..363f843 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/media/plugin.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/media/plugin.js
@@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/dialogs/mediaembed.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/dialogs/mediaembed.js
 index d6bf683..6f49f62 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/dialogs/mediaembed.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/dialogs/mediaembed.js
 @@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/plugin.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/plugin.js \
                index 14ae934..1412331 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/plugin.js
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/ckeditor/plugins/mediaembed/plugin.js
 @@ -1,5 +1,5 @@
 /*
-Copyright (c) 2003-2012, CKSource - Frederico Knabben. All rights reserved.
+Copyright (c) 2003-2013, CKSource - Frederico Knabben. All rights reserved.
 For licensing, see LICENSE.html or http://ckeditor.com/license
 */

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/CHANGELOG.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/CHANGELOG.txt index \
                99e8fb0..8c00161 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/CHANGELOG.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/CHANGELOG.txt
@@ -1,9 +1,45 @@
 Date Module 7.x
 ================
-==================-Version 7.x-2.x-dev
-==================+
+=====================+Version 7.x-2.7
+=====================+- Issue #1691342 by Cyberwolf: Field description is displayed \
multiple times. +- Issue #1668240 by ianthomas_uk: /themes/jquery.timeentry.css is \
not aggregated with other CSS files. +- Issue #1974056 by pjcdawkins: Add a CSS class \
to the date repeat rule. +- Issue #2065749 by vijaycs85, blackdog: $class in \
theme_date_repeat_rrule is not used. +- Issue #1840008 by cr0ss, Alan D.: Unlock \
"Date attributes" (granularity) field setting. +- Issue #1580032 by jmuzz | 30equals: \
Date values are not being saved when field is used in a nested field collection. +- \
Issue #2071629 by blackdog: #after_build wrongly added, overwrites other modules. +- \
Issue #1869962 by kaidjohnson: Date Context breaks context edit form. +- Issue \
#1571258 by David_Rothstein | ddalvi: Date and time form elements do not have \
accessible labels when the label position is set to 'Within' or 'None'. +- Issue \
#2130575 by kostajh: Unset() should be used with more caution in \
views_filter_handler_simple().inc. +- Issue #1826598 by eromba, jyee: 'c' and 'r' \
formatter causes date to be printed twice in views. +- Issue #1933472 by \
minorOffense: Added Optimize date_now() function. +- Issue #1248786 by kenneth.venken \
| dboulet: Fixed appearance of marker for required date fields. +- Issue #1810734 by \
ParisLiakos: Fixed Repeat checkboxes working reversed with updated jQuery. +- Issue \
#1844092 by dboulet, kardave, Spleshka: Fixed Untranslated strings: month, day, ... \
+- Issue #1202248 by james.williams, dawehner, mikehues | DamienMcKenna: Fixed \
Exported view doesn't include 'default_argument_options()' attribute. +- Issue \
#1409120 by anrikun, akamustang | marsbidon: Added Date format in views exposed \
filter does not respect configured format. +- Issue #1858112 by tomdearden: Fixed \
DateObject->difference not calculating correctly for future dates > 1 year away. +- \
Issue #1659466 by artkon: Fixed Date filter does not remember value in views if the \
identifier is something other than date_filter(). +- Issue #1905096 by gielfeldt: \
Fixed Wrong usage of database API. +- Issue #1791804 by 5n00py: Errors on form \
validation if date field placed in sub-form. +- Issue [#636208] Date range: Expose a \
single filter to select events that start before the chosen date and end after the \
chosen date by anrikun. +- Issue [#2024269] Date popup documentation fix by \
RoySegall. +- Issue [#1835184] by Steven Jones, das-peter, jwhat: Fixed \
date_limit_format() can have poor performance. +- Issue [#991830] by milesw | \
restyler: Fixed validation errors when date_popup() date is localized. +- Issue \
[#2098715] by jhodgdon: Fixed Date field not obeying widget alters for #required. +- \
Issue [#1266688] by linclark, rbayliss, fago, colette: Support microdata in date \
fields. +- Issue [#1863610] by maximpodorov: Fixed Invalid date formatting.
+- META [#2034231] [#1832544] Class registration for Migrate 2.5 or later - mikeryan, \
[#1835214] Automated tests failing - Exception thrown in Date2 migration - \
PatchRanger, [# +- Issue [#1350604] by Alan D., johaziel: Added Diff support for Date \
fields. +- Issue [#2086313] by dooug: Fixed Wrong path in date_popup() README.txt
+- Issue [#1455558] by BTMash | mediameriquat: Fixed Missing file in \
date_views().info causes error 500. +- Issue [#1697322] by Alan D., ianmthomasuk | \
pandikamal: Fixed Call to a member function getName() on a non-object in date api. +- \
Code cleanup, remove #prev values that were never used in repeat functionality. +- \
Small fix needed to ensure cardinality gets set correctly if repeat option is changed \
in the UI.

 ===================== Version 7.x-2.6
@@ -110,7 +146,7 @@ Version 7.x-2.1

 - Issue #1437242 by zerbash, Remove extraneous leading slashes in \
                module_load_include().
 - Issue #1436722 by hefox: Fixed Undefined variable $form_set_error() used as \
                function.
-- Issue #1250626 by Gábor Hojtsy, B-Prod, hefox: Added start date and end date \
labels. +- Issue #1250626 by G�bor Hojtsy, B-Prod, hefox: Added start date and end \
                date labels.
 - Issue #1253482, Make sure $argument->is_default gets reset by the Date pager when \
                altering results.
 - Adjust Date Tools to work with changes to use Views templates to create calendars.
 - Issue #1398584 by dhalbert and , Make sure groupby times is initialized.
@@ -194,7 +230,7 @@ The Date Browser has been removed. Please use the Date Pager \
instead. If you hav  Browser the navigation will just disappear from them. If you add \
a Date Pager to the view you should get it back.  Then delete the Date Browser \
attachment from the view, since it doesn't do anything any more.

-The UNTIL date was not getting included in repeating results and that is now fixed. \
This is an API change of sorts +The UNTIL date was not getting included in repeating \
results and that is now fixed. This is an API change of sorts  for anyone who worked \
around the issue by setting it ahead.

 The All Day checkbox and All Day themes were moved into a separate module, using new \
hooks added to the date @@ -219,7 +255,7 @@ New Features/Major Changes
 Bugfixes

 - Fix to new default date handling, the default date has to set a date in the \
                database timezone, not the display timezone.
-- Issue #1245106 by Gábor Hojtsy, Hide the option to add the delta into the view for \
single value fields. +- Issue #1245106 by G�bor Hojtsy, Hide the option to add the \
                delta into the view for single value fields.
 - Issue #1370876, Make sure new Date All Day code does not try to set the popup \
                values if Date Popup is disabled.
 - Issue #874322, Add back the date_field_all_day() function to avoid breaking other \
                modules that are using it.
 - Fix Date text placeholder to display a formatted date instead of a format. Follow \
up to Date repeat UI changes. @@ -316,7 +352,7 @@ Bugfixes
 - Issue #1179715, Default value callback for the timezone widget was not returning \
                an array.
 - Issue #1179716, Remove value_callback for date_repeat and date_combo forms, the \
                default behavior works fine.
 - Issue #1178716 by das-peter, Use drupal_array_get_nested_value() in Date Repeat \
                instead of trying to find it manually.
-- Issue #1178716 by das-peter and KarenS, Tweak the date repeat widget to identify \
empty input when used on nodes with translation. +- Issue #1178716 by das-peter and \
KarenS, Tweak the date repeat widget to identify empty input when used on nodes with \
                translation.
 - Issue #1178716 by das-peter and KarenS, Fix date repeat form values that are not \
                arrays when hidden on a node that has translation.
 - Issue #1178176 by das-peter, Fix date_combo_value_callback to return NULL to avoid \
                data lost on untranslatable dates used with Entity Translation.
 - Date Context module was making incorrect assumptions about the $language of the \
field. @@ -350,7 +386,7 @@ field settings. Previous versions did not always honor \
those settings, this one

 New Features/UX Improvements

-- Issue #1249724 by KarenS, Gábor Hojtsy, David_Rothstein, Improve usability of date \
and time input configuration. +- Issue #1249724 by KarenS, G�bor Hojtsy, \
                David_Rothstein, Improve usability of date and time input \
                configuration.
 - Issue #1250784 by David_Rothstein, Add user-friendly labels for start and end date \
                values in Views.
 - Issue #742146, Add option to remove X-WR-CALNAME if VEVENT is not a feed.
 - Add option to change method from PUBLISH to REQUEST in VCALENDAR.
@@ -360,8 +396,8 @@ New Features/UX Improvements
 - Issue #1249724 by David_Rothstein: Improve usability of date and time input \
                configuration
 - Issue #1177198 by tim.plunkett: Allow CTools to process #dependency for date \
                elements.
 - Issue #1245562 by David_Rothstein, Rename the default date display format to \
                something friendlier
-- Issue #1239934 by David_Rothstein and Gábor Hojtsy, Reuse the "years back and \
                forward" dropdown widget on the Views filter settings page.
-- Issue #1239228 by Gábor Hojtsy, Date Views filter form UI improvements, clarify \
the way absolute and relative dates work. +- Issue #1239934 by David_Rothstein and \
G�bor Hojtsy, Reuse the "years back and forward" dropdown widget on the Views \
filter settings page. +- Issue #1239228 by G�bor Hojtsy, Date Views filter form UI \
                improvements, clarify the way absolute and relative dates work.
 - Issue #233047 by ksenzee and David_Rothstein, Add the Vegas jQuery timepicker as a \
                new time selector option.
 - Issue #1145976 by tim.plunkett and KarenS, Add 'is date' identifier to all date \
                handlers.
 - Issue #1234140 by arlinsundbulte, Change terminology in user-facing text from \
'From/To Date' to 'Start/End Date'. @@ -408,10 +444,10 @@ Bugfixes
 - Issue #1254582 Repeat additions need to be adjusted to use the same time as the \
                original date.
 - Move vcalendar and vevent templates from Date Views to Date API modules.
 - Follow up to Issue #1250344, We don't need extra space when there is a \
                description, only when there is not.
-- Issue #1239228 by Gábor Hojtsy, More tweaks to filter css.
-- Issue #1244924 by Gábor Hojtsy, Minor text improvements in date filter \
configuration +- Issue #1239228 by G�bor Hojtsy, More tweaks to filter css.
+- Issue #1244924 by G�bor Hojtsy, Minor text improvements in date filter \
                configuration
 - Issue #1245556 by David_Rothstein, Date granularity description incorrectly \
                implies that it affects the date attributes that are displayed
-- Issue #1247444 by Gábor Hojtsy, Give a little breathing space to the date year \
range "other" field +- Issue #1247444 by G�bor Hojtsy, Give a little breathing \
                space to the date year range "other" field
 - Issue #1250344 by jessebeach, Fix padding around date fields by adding clearfix \
                class.
 - Issue #1249116 by yched, Fix various glitches with D6 migration code.
 - Issue #1243022 by fmosca and KarenS, Make sure all_day #states visibility is only \
set when there is a value for all_day. @@ -419,7 +455,7 @@ Bugfixes
 - Issue #1246416, Test whether libraries_get_path() returns a valid path before \
                using it.
 - Issue #1235994, Don't display 'All Day' when using a format that has no time.
 - Issue #1245690 by mikeryan, Migration plugin missing seconds from date formats
-- Issue #1229406 by David Rothstein, Gábor Hojtsy, and tim.plunkett Fix broken \
timepicker in Chrome and Safari. +- Issue #1229406 by David Rothstein, G�bor \
                Hojtsy, and tim.plunkett Fix broken timepicker in Chrome and Safari.
 - Issue #1239412 by keithm, Fix validation error when #access is false.
 - Issue #1232522, Don't alter field_ui_field_edit form except on date fields.
 - Issue #1243842, Make sure the All Day and Show End Date flags work correctly in \
                unlimited value fields that use ajax.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/LICENSE.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/LICENSE.txt old mode 100644
new mode 100755
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.api.php index \
                17f7514..268ae86 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.api.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.api.php
@@ -344,9 +344,6 @@ function hook_date_combo_process_alter(&$element, &$form_state, \
                $context) {
       '#date_increment'   => $instance['widget']['settings']['increment'],
       '#date_year_range'  => $instance['widget']['settings']['year_range'],
       '#date_label_position' => $instance['widget']['settings']['label_position'],
-      '#prev_value' => isset($item['value']) ? $item['value'] : '',
-      '#prev_value2' => isset($item['value2']) ? $item['value2'] : '',
-      '#prev_rrule' => isset($item['rrule']) ? $item['rrule'] : '',
       '#date_repeat_widget' => str_replace('_repeat', '', \
                $instance['widget']['type']),
       '#date_repeat_collapsed' => \
$instance['widget']['settings']['repeat_collapsed'],  '#date_flexible' => 0,
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.diff.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.diff.inc new file mode 100644
index 0000000..e46d3a1
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.diff.inc
@@ -0,0 +1,79 @@
+<?php
+
+/**
+ * @file
+ * Provide diff field functions for the Date module.
+ */
+
+/**
+ * Diff field callback for parsing date fields comparative values.
+ */
+function date_field_diff_view($items, $context) {
+  $diff_items = array();
+  $display = $context['display'];
+  $display['settings']['format_type'] = $context['settings']['format_type'];
+  $display['settings']['fromto'] = $context['settings']['fromto'];
+  foreach ($items as $delta => $item) {
+    $date = date_formatter_process('date_default', $context['entity_type'], \
$context['entity'], $context['field'], $context['instance'], $context['language'], \
$item, $display); +    switch ($display['settings']['fromto']) {
+      case 'both':
+        if ($date['value']['formatted'] != $date['value2']['formatted']) {
+          $diff_items[$delta] = t('@from to @to', array(
+            '@from' => $date['value']['formatted'],
+            '@to' => $date['value2']['formatted'],
+          ));
+        }
+        else {
+          $diff_items[$delta] = $date['value']['formatted'];
+        }
+        break;
+
+      case 'value':
+      case 'value2':
+        $diff_items[$delta] = $date[$display['settings']['fromto']]['formatted'];
+        break;
+
+    }
+  }
+  return $diff_items;
+}
+
+/**
+ * Provide default field comparison options.
+ */
+function date_field_diff_default_options($field_type) {
+  return array(
+    'format_type' => 'long',
+    'fromto' => 'both',
+  );
+}
+
+/**
+ * Provide a form for setting the field comparison options.
+ */
+function date_field_diff_options_form($field_type, $settings) {
+  $options_form = array();
+
+  $form['format_type'] = array(
+    '#title' => t('Choose how render dates and times'),
+    '#type' => 'select',
+    '#options' => date_format_type_options(),
+    '#default_value' => $settings['format_type'],
+    '#description' => t('To add or edit options, visit <a \
href="@date-time-page">Date and time settings</a>.', array('@date-time-page' => \
url('admin/config/regional/date-time'))), +    '#weight' => 0,
+  );
+
+  $form['fromto'] = array(
+    '#title' => t('Display'),
+    '#type' => 'select',
+    '#options' => array(
+      'both' => t('Both Start and End dates'),
+      'value' => t('Start date only'),
+      'value2' => t('End date only'),
+    ),
+    '#default_value' => $settings['fromto'],
+    '#weight' => 1,
+  );
+
+  return $options_form;
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.field.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.field.inc index \
                b104702..46ea317 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.field.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.field.inc
@@ -125,8 +125,16 @@ function date_field_formatter_view($entity_type, $entity, \
$field, $instance, $la  'attributes' => array(),
     'rdf_mapping' => array(),
     'add_rdf' => module_exists('rdf'),
+    'microdata' => array(),
+    'add_microdata' => module_exists('microdata'),
   );

+  // If the microdata module is enabled, the microdata mapping will have been
+  // passed in via the entity.
+  if ($variables['add_microdata'] && \
isset($entity->microdata[$field['field_name']])) { +    $variables['microdata'] = \
$entity->microdata[$field['field_name']]; +  }
+
   // If there is an RDf mapping for this date field, pass it down to the theme.
   $rdf_mapping = array();
   if (!empty($entity->rdf_mapping) && function_exists('rdf_rdfa_attributes')) {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.info index e5b00c2..242937c \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.info
@@ -4,15 +4,17 @@ dependencies[] = date_api
 package = Date/Time
 core = 7.x
 php = 5.2
+files[] = date.migrate.inc
 files[] = tests/date_api.test
 files[] = tests/date.test
 files[] = tests/date_field.test
+files[] = tests/date_migrate.test
 files[] = tests/date_validation.test
 files[] = tests/date_timezone.test

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.migrate.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.migrate.inc new file mode \
100644 index 0000000..095c789
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.migrate.inc
@@ -0,0 +1,200 @@
+<?php
+
+/**
+ * @file
+ * Support for migration into Date fields.
+ */
+
+/**
+ * Implements hook_migrate_api().
+ */
+function date_migrate_api() {
+  $api = array(
+    'api' => 2,
+    'field handlers' => array('DateMigrateFieldHandler'),
+  );
+  return $api;
+}
+
+class DateMigrateFieldHandler extends MigrateFieldHandler {
+
+  /**
+   * Declares the types of fields used.
+   */
+  public function __construct() {
+    $this->registerTypes(array('date', 'datestamp', 'datetime'));
+  }
+
+  /**
+   * Arguments for a date field migration.
+   *
+   * @param string $timezone
+   *   Timezone (such as UTC, America/New_York, etc.) to apply.
+   * @param string $timezone_db
+   *   Timezone_db value for the field.
+   * @param string $rrule
+   *   Rule string for a repeating date field.
+   * @param string $language
+   *   Language of the text (defaults to destination language)
+   *
+   * @return array
+   *   An array of the defined variables in this scope.
+   */
+  static function arguments($timezone = 'UTC', $timezone_db = 'UTC', $rrule = NULL, \
$language = NULL) { +    return get_defined_vars();
+  }
+
+  /**
+   * Converts incoming data into the proper field arrays for Date fields.
+   *
+   * @param object $entity
+   *   The destination entity which will hold the field arrays.
+   * @param array $field_info
+   *   Metadata for the date field being populated.
+   * @param array $instance
+   *   Metadata for this instance of the date field being populated.
+   * @param array $values
+   *   Array of date values to be fielded.
+   *
+   * @return array|null
+   *   An array of date fields.
+   */
+  public function prepare($entity, array $field_info, array $instance, array \
$values) { +    if (isset($values['arguments'])) {
+      $arguments = $values['arguments'];
+      unset($values['arguments']);
+    }
+    else {
+      $arguments = array();
+    }
+
+    $language = $this->getFieldLanguage($entity, $field_info, $arguments);
+
+    foreach ($values as $delta => $from) {
+      if (!empty($arguments['timezone'])) {
+        if (is_array($arguments['timezone'])) {
+          $timezone = $arguments['timezone'][$delta];
+        }
+        else {
+          $timezone = $arguments['timezone'];
+        }
+      }
+      else {
+        $timezone = 'UTC';
+      }
+
+      if (!empty($arguments['rrule'])) {
+        if (is_array($arguments['rrule'])) {
+          $rrule = $arguments['rrule'][$delta];
+        }
+        else {
+          $rrule = $arguments['rrule'];
+        }
+      }
+      else {
+        $rrule = NULL;
+      }
+
+      if (!empty($arguments['to'])) {
+        if (is_array($arguments['to'])) {
+          $to = $arguments['to'][$delta];
+        }
+        else {
+          $to = $arguments['to'];
+        }
+      }
+      else {
+        $to = NULL;
+      }
+
+      // Legacy support for JSON containing a set of properties - deprecated
+      // now that we have subfields.
+      if (!empty($from) && $from{0} == '{') {
+        $properties = drupal_json_decode($from);
+        $from = $properties['from'];
+        // Properties passed in with the date override any set via arguments.
+        if (!empty($properties['to'])) {
+          $to = $properties['to'];
+        }
+        if (!empty($properties['timezone'])) {
+          $timezone = $properties['timezone'];
+        }
+        if (!empty($properties['rrule'])) {
+          $rrule = $properties['rrule'];
+        }
+      }
+
+      // Missing data? Create an empty value and return;
+      // Don't try to turn the empty value into a bogus
+      // timestamp for 'now'.
+      if (empty($from)) {
+        $return[$language][$delta]['value'] = NULL;
+        if (!empty($field_info['settings']['todate'])) {
+          $return[$language][$delta]['value2'] = NULL;
+        }
+        return $return;
+      }
+
+      // If there is no 'to' date, just use the 'from' date.
+      if (!empty($field_info['settings']['todate']) && empty($to)) {
+        $to = $from;
+      }
+
+      // If we have a value, work from a timestamp.
+      $from = MigrationBase::timestamp($from);
+      if ($to) {
+        $to = MigrationBase::timestamp($to);
+      }
+
+      // What does the destination field expect?
+      switch ($field_info['type']) {
+        case 'datestamp':
+          // Already done.
+          break;
+        case 'datetime':
+          // YYYY-MM-DD HH:MM:SS.
+          $from = format_date($from, 'custom', 'Y-m-d H:i:s', $timezone);
+          if ($to) {
+            $to = format_date($to, 'custom', 'Y-m-d H:i:s', $timezone);
+          }
+          break;
+        case 'date':
+          // ISO date: YYYY-MM-DDTHH:MM:SS.
+          $from = format_date($from, 'custom', 'Y-m-d\TH:i:s', $timezone);
+          if ($to) {
+            $to = format_date($to, 'custom', 'Y-m-d\TH:i:s', $timezone);
+          }
+          break;
+        default:
+          break;
+      }
+
+      // Handle repeats, coming in as RRULEs. Many field instances may be
+      // created.
+      if (function_exists('date_repeat_build_dates') && \
!empty($field_info['settings']['repeat']) && $rrule) { +        include_once \
DRUPAL_ROOT . '/' . drupal_get_path('module', 'date_api') . '/date_api_ical.inc'; +   \
$item = array('value' => $from, 'value2' => $to, 'timezone' => $timezone); +        \
// Can be de-uglified when http://drupal.org/node/1159404 is committed. +        \
$return[$language] = date_repeat_build_dates(NULL, date_ical_parse_rrule($field_info, \
$rrule), $field_info, $item); +      }
+      else {
+        $return[$language][$delta]['value'] = $from;
+        if (!empty($to)) {
+          $return[$language][$delta]['value2'] = $to;
+        }
+      }
+    }
+    if (!isset($return)) {
+      $return = NULL;
+    }
+    return $return;
+  }
+
+  public function fields($migration = NULL) {
+    return array(
+      'timezone' => t('Timezone'),
+      'rrule' => t('Recurring event rule'),
+      'to' => t('End date date'),
+    );
+  }
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.module index 4f6a013..6f4560b \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.module
@@ -1,10 +1,8 @@
 <?php
-
 /**
  * @file
  * Defines date/time field types.
  */
-
 module_load_include('theme', 'date', 'date');
 module_load_include('inc', 'date', 'date.field');
 module_load_include('inc', 'date', 'date_elements');
@@ -78,6 +76,8 @@ function date_theme() {
         'attributes' => array(),
         'rdf_mapping' => NULL,
         'add_rdf' => NULL,
+        'microdata' => NULL,
+        'add_microdata' => NULL,
       ),
     ),
     'date_display_range' => $base + array(
@@ -95,6 +95,8 @@ function date_theme() {
         'attributes_end' => array(),
         'rdf_mapping' => NULL,
         'add_rdf' => NULL,
+        'microdata' => NULL,
+        'add_microdata' => NULL,
     )),
     'date_display_combination' => $base + array(
       'variables' => array(
@@ -110,6 +112,8 @@ function date_theme() {
         'attributes' => array(),
         'rdf_mapping' => NULL,
         'add_rdf' => NULL,
+        'microdata' => NULL,
+        'add_microdata' => NULL,
       ),
     ),
     'date_display_interval' => $base + array(
@@ -247,7 +251,7 @@ function date_formatter_process($formatter, $entity_type, \
$entity, $field, $inst  elseif ($format == 'format_calendar_day') {
            $dates[$processed]['calendar_day'] = date_format_calendar_day($date);
         }
-        elseif ($format == 'U') {
+        elseif ($format == 'U' || $format == 'r' || $format == 'c') {
           $dates[$processed]['formatted'] = date_format_date($date, 'custom', \
                $format);
           $dates[$processed]['formatted_date'] = date_format_date($date, 'custom', \
$format);  $dates[$processed]['formatted_time'] = '';
@@ -543,6 +547,8 @@ function date_entity_metadata_property_info_alter(&$info, \
$entity_type, $field,  // The getter and setter callbacks for 'value' and 'value2'
         // will not provide the field name as $name, we'll add it to $info.
         'field_name' => $field['field_name'],
+        // Alert Microdata module that this value can be exposed in microdata.
+        'microdata' => TRUE,
       ),
       'value2' => array(
         'type' => 'date',
@@ -552,6 +558,8 @@ function date_entity_metadata_property_info_alter(&$info, \
$entity_type, $field,  // The getter and setter callbacks for 'value' and 'value2'
         // will not provide the field name as $name, we'll add it to $info.
         'field_name' => $field['field_name'],
+        // Alert Microdata module that this value can be exposed in microdata.
+        'microdata' => TRUE,
       ),
       'duration' => array(
         'type' => 'duration',
@@ -566,6 +574,11 @@ function date_entity_metadata_property_info_alter(&$info, \
$entity_type, $field,  );
     unset($property['query callback']);
   }
+  else {
+    // If this doesn't have a todate, it is handled as a date rather than a
+    // struct. Enable microdata on the field itself rather than the properties.
+    $property['microdata'] = TRUE;
+  }
 }

 /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.theme \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.theme index 70c6be4..cc88e87 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date.theme
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date.theme
@@ -74,6 +74,8 @@ function theme_date_display_combination($variables) {
   $attributes  = $variables['attributes'];
   $rdf_mapping = $variables['rdf_mapping'];
   $add_rdf     = $variables['add_rdf'];
+  $microdata   = $variables['microdata'];
+  $add_microdata = $variables['add_microdata'];
   $precision   = date_granularity_precision($field['settings']['granularity']);

   $output = '';
@@ -162,6 +164,8 @@ function theme_date_display_combination($variables) {
       'attributes' => $attributes,
       'rdf_mapping' => $rdf_mapping,
       'add_rdf' => $add_rdf,
+      'microdata' => $microdata,
+      'add_microdata' => $add_microdata,
       'dates' => $dates,
     ));
   }
@@ -179,6 +183,8 @@ function theme_date_display_combination($variables) {
       'attributes' => $attributes,
       'rdf_mapping' => $rdf_mapping,
       'add_rdf' => $add_rdf,
+      'microdata' => $microdata,
+      'add_microdata' => $add_microdata,
       'dates' => $dates,
     ));
     $replaced = str_replace($time1, $time, $date1);
@@ -200,6 +206,8 @@ function theme_date_display_combination($variables) {
       'attributes' => $attributes,
       'rdf_mapping' => $rdf_mapping,
       'add_rdf' => $add_rdf,
+      'microdata' => $microdata,
+      'add_microdata' => $add_microdata,
       'dates' => $dates,
     ));
   }
@@ -211,7 +219,7 @@ function theme_date_display_combination($variables) {
  * Template preprocess function for displaying a single date.
  */
 function template_preprocess_date_display_single(&$variables) {
-  if ($variables['add_rdf']) {
+  if ($variables['add_rdf'] || $variables['add_microdata']) {
     // Pass along the rdf mapping for this field, if any. Add some default rdf
     // attributes that will be used if not overridden by attributes passed in.
     $rdf_mapping = $variables['rdf_mapping'];
@@ -222,6 +230,24 @@ function template_preprocess_date_display_single(&$variables) {
     );
     $variables['attributes'] = $variables['attributes'] + $base_attributes;
   }
+
+  // Pass along microdata attributes, or set display to false if none are set.
+  if (!empty($variables['add_microdata'])) {
+    // Because the Entity API integration for Date has a variable data
+    // structure depending on whether there is an end value, the attributes
+    // could be attached to the field or to the value property.
+    if(!empty($variables['microdata']['#attributes']['itemprop'])) {
+      $variables['microdata']['value']['#attributes'] = \
$variables['microdata']['#attributes']; +    }
+
+    // Add the machine readable time using the content attribute.
+    if(!empty($variables['microdata']['value']['#attributes'])) {
+      $variables['microdata']['value']['#attributes']['content'] = \
$variables['dates']['value']['formatted_iso']; +    }
+    else {
+      $variables['add_microdata'] = FALSE;
+    }
+  }
 }

 /**
@@ -233,7 +259,13 @@ function theme_date_display_single($variables) {
   $attributes = $variables['attributes'];

   // Wrap the result with the attributes.
-  return '<span class="date-display-single"' . drupal_attributes($attributes) . '>' \
. $date . $timezone . '</span>'; +  $output = '<span class="date-display-single"' . \
drupal_attributes($attributes) . '>' . $date . $timezone . '</span>'; +
+  if ($variables['add_microdata']) {
+    $output .= '<meta' . \
drupal_attributes($variables['microdata']['value']['#attributes']) . '/>'; +  }
+
+  return $output;
 }

 /**
@@ -247,7 +279,6 @@ function template_preprocess_date_display_range(&$variables) {
   if ($variables['add_rdf']) {
     // Pass along the rdf mapping for this field, if any. Add some default rdf
     // attributes that will be used if not overridden by attributes passed in.
-    $rdf_mapping = $variables['rdf_mapping'];
     $dates = $variables['dates'];
     $base_attributes = array(
       'property' => array('dc:date'),
@@ -261,6 +292,17 @@ function template_preprocess_date_display_range(&$variables) {
       $variables['attributes_end']['property'][$delta] = str_replace('start', 'end', \
$property);  }
   }
+
+  // Pass along microdata attributes, or set display to false if none are set.
+  if ($variables['add_microdata']) {
+    if (!empty($variables['microdata']['value']['#attributes'])) {
+      $variables['microdata']['value']['#attributes']['content'] = \
$variables['dates']['value']['formatted_iso']; +      \
$variables['microdata']['value2']['#attributes']['content'] = \
$variables['dates']['value2']['formatted_iso']; +    }
+    else {
+      $variables['add_microdata'] = FALSE;
+    }
+  }
 }

 /**
@@ -273,10 +315,20 @@ function theme_date_display_range($variables) {
   $attributes_start = $variables['attributes_start'];
   $attributes_end = $variables['attributes_end'];

+  $start_date = '<span class="date-display-start"' . \
drupal_attributes($attributes_start) . '>' . $date1 . '</span>'; +  $end_date = \
'<span class="date-display-end"' . drupal_attributes($attributes_end) . '>' . $date2 \
. $timezone . '</span>'; +
+  // If microdata attributes for the start date property have been passed in,
+  // add the microdata in meta tags.
+  if (!empty($variables['add_microdata'])) {
+    $start_date .= '<meta' . \
drupal_attributes($variables['microdata']['value']['#attributes']) . '/>'; +    \
$end_date .= '<meta' . \
drupal_attributes($variables['microdata']['value2']['#attributes']) . '/>'; +  }
+
   // Wrap the result with the attributes.
   return t('!start-date to !end-date', array(
-    '!start-date' => '<span class="date-display-start"' . \
                drupal_attributes($attributes_start) . '>' . $date1 . '</span>',
-    '!end-date' => '<span class="date-display-end"' . \
drupal_attributes($attributes_end) . '>' . $date2 . $timezone . '</span>', +    \
'!start-date' => $start_date, +    '!end-date' => $end_date,
   ));
 }

@@ -326,6 +378,10 @@ function theme_date_combo($variables) {
     '#attributes' => array(),
     '#children' => $element['#children'],
   );
+  // Add marker to required date fields.
+  if ($element['#required']) {
+    $fieldset['#title'] .= " " . theme('form_required_marker');
+  }
   return theme('fieldset', array('element' => $fieldset));
 }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_admin.inc index \
                993aa09..0e32fc5 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_admin.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_admin.inc
@@ -370,11 +370,11 @@ function _date_field_widget_settings_form($field, $instance) {
   );
   if (in_array($widget['type'], array('date_select'))) {
     $options = array('above' => t('Above'), 'within' => t('Within'), 'none' => \
                t('None'));
-    $description = t("The location of date part labels, like 'Year', 'Month', or \
'Day' . 'Above' displays the label as titles above each date part. 'Within' inserts \
the label as the first option in the select list and in blank textfields. 'None' \
doesn't label any of the date parts. Theme functions like 'date_part_label_year' and \
'date_part_label_month' control label text."); +    $description = t("The location of \
date part labels, like 'Year', 'Month', or 'Day' . 'Above' displays the label as \
titles above each date part. 'Within' inserts the label as the first option in the \
select list and in blank textfields. 'None' doesn't visually label any of the date \
parts. Theme functions like 'date_part_label_year' and 'date_part_label_month' \
control label text.");  }
   else {
     $options = array('above' => t('Above'), 'none' => t('None'));
-    $description = t("The location of date part labels, like 'Year', 'Month', or \
'Day' . 'Above' displays the label as titles above each date part. 'None' doesn't \
label any of the date parts. Theme functions like 'date_part_label_year' and \
'date_part_label_month' control label text."); +    $description = t("The location of \
date part labels, like 'Year', 'Month', or 'Day' . 'Above' displays the label as \
titles above each date part. 'None' doesn't visually label any of the date parts. \
Theme functions like 'date_part_label_year' and 'date_part_label_month' control label \
text.");  }
   $form['advanced']['label_position'] = array(
     '#type' => 'radios',
@@ -453,6 +453,9 @@ function _date_field_settings_form($field, $instance, $has_data) \
{  $tz_handling = $settings['tz_handling'];

   $description = t('Select the date attributes to collect and store.');
+  if ($has_data) {
+    $description .= ' ' . t('Changes to date attributes only effects new or updated \
content.'); +  }
   $options = date_granularity_names();
   $checkbox_year = array(
     '#type' => 'checkbox',
@@ -469,7 +472,6 @@ function _date_field_settings_form($field, $instance, $has_data) \
{  '#options' => $options,
     '#attributes' => array('class' => array('container-inline')),
     '#description' => $description,
-    '#disabled' => $has_data,
     'year' => $checkbox_year,
   );

@@ -499,7 +501,6 @@ function _date_field_settings_form($field, $instance, $has_data) \
{  '#default_value' => $tz_handling,
     '#options' => date_timezone_handling_options(),
     '#description' => $description,
-    '#disabled' => $has_data,
     '#attached' => array(
       'js' => array(drupal_get_path('module', 'date') . '/date_admin.js'),
     ),
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_all_day/date_all_day.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_all_day/date_all_day.info \
                index 8f8bf48..14e1d86 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_all_day/date_all_day.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_all_day/date_all_day.info
@@ -5,9 +5,9 @@ dependencies[] = date
 package = Date/Time
 core = 7.x

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.info index \
                ee1a384..19ac12c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.info
@@ -9,9 +9,9 @@ stylesheets[all][] = date.css
 files[] = date_api.module
 files[] = date_api_sql.inc

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.module index \
                d85a8a5..2ca0a33 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api.module
@@ -276,18 +276,17 @@ class DateObject extends DateTime {
         $this->setGranularityFromTime($time, $tz);
       }
     }
-    // If this tz was given as just an offset or the timezone
-    // was invalid, we need to do some tweaking.
+
+    // If we haven't got a valid timezone name yet, we need to set one or
+    // we will get undefined index errors.
+    // This can happen if $time had an offset or no timezone.
     if (!$this->getTimezone() || !preg_match('/[a-zA-Z]/', \
$this->getTimezone()->getName())) {

-      // If the timezone name is an offset and the original
-      // $tz has a name, use it. This happens if you pass in
-      // a date string with an offset along with a specific timezone name.
-      if (!preg_match('/[a-zA-Z]/', $this->getTimezone()->getName()) && \
preg_match('/[a-zA-Z]/', $tz->getName())) { +      // If the original $tz has a name, \
use it. +      if (preg_match('/[a-zA-Z]/', $tz->getName())) {
         $this->setTimezone($tz);
       }
-      // If we get this far, we have no information about the timezone name,
-      // but we will get undefined index errors without any name.
+      // We have no information about the timezone so must fallback to a default.
       else {
         $this->setTimezone(new DateTimeZone("UTC"));
         $this->errors['timezone'] = t('No valid timezone name was provided.');
@@ -459,8 +458,8 @@ class DateObject extends DateTime {
     $true = $this->hasGranularity() && (!$granularity || $flexible || \
$this->hasGranularity($granularity));  if (!$true && $granularity) {
       foreach ((array) $granularity as $part) {
-        if (!$this->hasGranularity($part)) {
-          $this->errors[$part] = t("The @part is missing.", array('@part' => \
$part)); +        if (!$this->hasGranularity($part) && in_array($part, \
array('second', 'minute', 'hour', 'day', 'month', 'year'))) { +          \
$this->errors[$part] = t("The $part is missing.");  }
       }
     }
@@ -574,7 +573,7 @@ class DateObject extends DateTime {
     $regex2 = preg_replace($patterns, $repl2, $format_regexp, 1);
     $regex2 = str_replace('A', '(AM|PM)', $regex2);
     $regex2 = str_replace('a', '(am|pm)', $regex2);
-    preg_match('`^' . $regex2 . '$`', $date, $values);
+    preg_match('`^' . $regex2 . '$`u', $date, $values);
     array_shift($values);
     // If we did not find all the values for the patterns in the format, abort.
     if (count($letters) != count($values)) {
@@ -951,6 +950,11 @@ class DateObject extends DateTime {
           if ($year_diff == 0) {
             return intval($item2 - $item1);
           }
+          elseif ($year_diff < 0) {
+            $item_diff = 0 - $item1;
+            $item_diff -= intval((abs($year_diff) - 1) * 12);
+            return $item_diff - (12 - $item2);
+          }
           else {
             $item_diff = 12 - $item1;
             $item_diff += intval(($year_diff - 1) * 12);
@@ -965,6 +969,14 @@ class DateObject extends DateTime {
           if ($year_diff == 0) {
             return intval($item2 - $item1);
           }
+          elseif ($year_diff < 0) {
+            $item_diff = 0 - $item1;
+            for ($i = 1; $i < abs($year_diff); $i++) {
+              date_modify($date1, '-1 year');
+              $item_diff -= date_days_in_year($date1);
+            }
+            return $item_diff - (date_days_in_year($date2) - $item2);
+          }
           else {
             $item_diff = date_days_in_year($date1) - $item1;
             for ($i = 1; $i < $year_diff; $i++) {
@@ -978,9 +990,12 @@ class DateObject extends DateTime {
         case 'weeks':
           $week_diff = date_format($date2, 'W') - date_format($date1, 'W');
           $year_diff = date_format($date2, 'o') - date_format($date1, 'o');
-          for ($i = 1; $i <= $year_diff; $i++) {
-            date_modify($date1, '+1 year');
-            $week_diff += date_iso_weeks_in_year($date1);
+
+          $sign = ($year_diff < 0) ? -1 : 1;
+
+          for ($i = 1; $i <= abs($year_diff); $i++) {
+            date_modify($date1, (($sign > 0) ? '+': '-').'1 year');
+            $week_diff += (date_iso_weeks_in_year($date1) * $sign);
           }
           return $week_diff;
       }
@@ -1705,13 +1720,21 @@ function date_format_interval($date, $granularity = 2, \
                $display_ago = TRUE) {
  *   (optional) Optionally force time to a specific timezone, defaults to user
  *   timezone, if set, otherwise site timezone. Defaults to NULL.
  *
+ * @param boolean $reset [optional]
+ *  Static cache reset
+ *
  * @return object
  *   The current time as a date object.
  */
-function date_now($timezone = NULL) {
-  return new DateObject('now', $timezone);
-}
+function date_now($timezone = NULL, $reset = FALSE) {
+  $now = &drupal_static(__FUNCTION__);

+  if (!isset($now) || $reset) {
+    $now = new DateObject('now', $timezone);
+  }
+
+  return $now;
+}
 /**
  * Determines if a timezone string is valid.
  *
@@ -2100,6 +2123,17 @@ function date_part_format($part, $format) {
  *   The format string with all other elements removed.
  */
 function date_limit_format($format, $granularity) {
+  // Use the advanced drupal_static() pattern to improve performance.
+  static $drupal_static_fast;
+  if (!isset($drupal_static_fast)) {
+    $drupal_static_fast['formats'] = &drupal_static(__FUNCTION__);
+  }
+  $formats = &$drupal_static_fast['formats'];
+  $format_granularity_cid = $format .'|'. implode(',', $granularity);
+  if (isset($formats[$format_granularity_cid])) {
+    return $formats[$format_granularity_cid];
+  }
+
   // If punctuation has been escaped, remove the escaping. Done using strtr()
   // because it is easier than getting the escape character extracted using
   // preg_replace().
@@ -2169,11 +2203,14 @@ function date_limit_format($format, $granularity) {
   // After removing the non-desired parts of the format, test if the only things
   // left are escaped, non-date, characters. If so, return nothing.
   // Using S instead of w to pick up non-ASCII characters.
-  $test = trim(preg_replace('(\\\\\S{1,3})', '', $format));
+  $test = trim(preg_replace('(\\\\\S{1,3})u', '', $format));
   if (empty($test)) {
     $format = '';
   }

+  // Store the return value in the static array for performance.
+  $formats[$format_granularity_cid] = $format;
+
   return $format;
 }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_elements.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_elements.inc \
                index 7da4e58..57e4161 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_elements.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_elements.inc
@@ -239,7 +239,8 @@ function date_timezone_element_process($element, &$form_state, \
$form) {  $label = theme('date_part_label_timezone', array('part_type' => 'select', \
'element' => $element));  $element['timezone'] = array(
     '#type' => 'select',
-    '#title' => $element['#date_label_position'] == 'above' ? $label : '',
+    '#title' => $label,
+    '#title_display' => $element['#date_label_position'] == 'above' ? 'before' : \
'invisible',  '#options' => date_timezone_names($element['#required']),
     '#value' => $element['#value'],
     '#weight' => $element['#weight'],
@@ -320,6 +321,8 @@ function date_text_element_process($element, &$form_state, $form) \
{  $element['date']['#weight'] = !empty($element['date']['#weight']) ? \
$element['date']['#weight'] : $element['#weight'];  $element['date']['#attributes'] = \
array('class' => isset($element['#attributes']['class']) ? \
$element['#attributes']['class'] += array('date-date') : array('date-date'));  $now = \
date_example_date(); +  $element['date']['#title'] = t('Date');
+  $element['date']['#title_display'] = 'invisible';
   $element['date']['#description'] = ' ' . t('Format: @date', array('@date' => \
date_format_date(date_example_date(), 'custom', $element['#date_format'])));  \
$element['date']['#ajax'] = !empty($element['#ajax']) ? $element['#ajax'] : FALSE;

@@ -585,6 +588,8 @@ function date_parts_element($element, $date, $format) {
       $sub_element[$field]['#type'] = 'textfield';
       $sub_element[$field]['#theme'] = 'date_textfield_element';
       $sub_element[$field]['#size'] = 7;
+      $sub_element[$field]['#title'] = $label;
+      $sub_element[$field]['#title_display'] = \
in_array($element['#date_label_position'], array('within', 'none')) ? 'invisible' : \
'before';  if ($element['#date_label_position'] == 'within') {
         if (!empty($sub_element[$field]['#options']) && \
is_array($sub_element[$field]['#options'])) {  $sub_element[$field]['#options'] = \
array( @@ -594,20 +599,16 @@ function date_parts_element($element, $date, $format) {
           $sub_element[$field]['#default_value'] = '-' . $label;
         }
       }
-      elseif ($element['#date_label_position'] != 'none') {
-        $sub_element[$field]['#title'] = $label;
-      }
     }
     else {
       $sub_element[$field]['#type'] = 'select';
       $sub_element[$field]['#theme'] = 'date_select_element';
+      $sub_element[$field]['#title'] = $label;
+      $sub_element[$field]['#title_display'] = \
in_array($element['#date_label_position'], array('within', 'none')) ? 'invisible' : \
'before';  if ($element['#date_label_position'] == 'within') {
         $sub_element[$field]['#options'] = array(
           '' => '-' . $label) + $sub_element[$field]['#options'];
       }
-      elseif ($element['#date_label_position'] != 'none') {
-        $sub_element[$field]['#title'] = $label;
-      }
     }
   }

@@ -621,9 +622,12 @@ function date_parts_element($element, $date, $format) {
   }

   if (($hours_format == 'g' || $hours_format == 'h') && date_has_time($granularity)) \
{ +    $label = theme('date_part_label_ampm', array('part_type' => 'ampm', 'element' \
=> $element));  $sub_element['ampm'] = array(
       '#type' => 'select',
       '#theme' => 'date_select_element',
+      '#title' => $label,
+      '#title_display' => in_array($element['#date_label_position'], array('within', \
                'none')) ? 'invisible' : 'before',
       '#default_value' => is_object($date) ? (date_format($date, 'G') >= 12 ? 'pm' : \
'am') : '',  '#options' => drupal_map_assoc(date_ampm($part_required)),
       '#required' => $part_required,
@@ -631,10 +635,7 @@ function date_parts_element($element, $date, $format) {
       '#attributes' => array('class' => array('date-ampm')),
     );
     if ($element['#date_label_position'] == 'within') {
-      $sub_element['ampm']['#options'] = array('' => '-' . \
theme('date_part_label_ampm', array('part_type' => 'ampm', 'eleement' => $element))) \
                + $sub_element['ampm']['#options'];
-    }
-    elseif ($element['#date_label_position'] != 'none') {
-      $sub_element['ampm']['#title'] = theme('date_part_label_ampm', \
array('part_type' => 'ampm', 'element' => $element)); +      \
$sub_element['ampm']['#options'] = array('' => '-' . $label) + \
$sub_element['ampm']['#options'];  }
   }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_sql.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_sql.inc index \
                a2adc65..e02f050 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_sql.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_api/date_api_sql.inc
@@ -20,9 +20,8 @@
  *   Correct sql string for database type.
  */
 function date_sql_concat($array) {
-  switch (db_driver()) {
+  switch (Database::getConnection()->databaseType()) {
     case 'mysql':
-    case 'mysqli':
       return "CONCAT(" . implode(",", $array) . ")";
     case 'pgsql':
       return implode(" || ", $array);
@@ -39,9 +38,8 @@ function date_sql_concat($array) {
  *   SQL statement to return the first non-NULL value in the list.
  */
 function date_sql_coalesce($array) {
-  switch (db_driver()) {
+  switch (Database::getConnection()->databaseType()) {
     case 'mysql':
-    case 'mysqli':
     case 'pgsql':
       return "COALESCE(" . implode(',', $array) . ")";
   }
@@ -89,7 +87,7 @@ class date_sql_handler {
    * The object constuctor.
    */
   function __construct($date_type = DATE_DATETIME, $local_timezone = NULL, $offset = \
                '+00:00') {
-    $this->db_type = db_driver();
+    $this->db_type = Database::getConnection()->databaseType();
     $this->date_type = $date_type;
     $this->db_timezone = 'UTC';
     $this->local_timezone = isset($local_timezone) ? $local_timezone : \
date_default_timezone(); @@ -105,7 +103,6 @@ class date_sql_handler {
       $has_support = FALSE;
       switch ($this->db_type) {
         case 'mysql':
-        case 'mysqli':
           $test = db_query("SELECT CONVERT_TZ('2008-02-15 12:00:00', 'UTC', \
'US/Central')")->fetchField();  if ($test == '2008-02-15 06:00:00') {
             $has_support = TRUE;
@@ -141,11 +138,10 @@ class date_sql_handler {
    */
   function set_db_timezone($offset = '+00:00') {
     static $already_set = FALSE;
-    $type = db_driver();
+    $type = Database::getConnection()->databaseType();
     if (!$already_set) {
       switch ($type) {
         case 'mysql':
-        case 'mysqli':
           db_query("SET @@session.time_zone = '$offset'");
           break;
         case 'pgsql':
@@ -199,7 +195,6 @@ class date_sql_handler {
     }
     switch ($this->db_type) {
       case 'mysql':
-      case 'mysqli':
         switch ($this->date_type) {
           case DATE_UNIX:
             $field = "FROM_UNIXTIME($field)";
@@ -258,7 +253,6 @@ class date_sql_handler {
     if (!empty($offset)) {
       switch ($this->db_type) {
         case 'mysql':
-        case 'mysqli':
           return "ADDTIME($field, SEC_TO_TIME($offset))";
         case 'pgsql':
           return "($field + INTERVAL '$offset SECONDS')";;
@@ -288,7 +282,6 @@ class date_sql_handler {
     $granularity = strtoupper($granularity);
     switch ($this->db_type) {
       case 'mysql':
-      case 'mysqli':
         switch ($direction) {
           case 'ADD':
             return "DATE_ADD($field, INTERVAL $count $granularity)";
@@ -358,7 +351,6 @@ class date_sql_handler {
     else {
       switch ($this->db_type) {
         case 'mysql':
-        case 'mysqli':
           return "CONVERT_TZ($field, $db_zone, $localzone)";
         case 'pgsql':
           // WITH TIME ZONE assumes the date is using the system
@@ -382,7 +374,6 @@ class date_sql_handler {
   function sql_format($format, $field) {
     switch ($this->db_type) {
       case 'mysql':
-      case 'mysqli':
         $replace = array(
           'Y' => '%Y',
           'y' => '%y',
@@ -553,7 +544,6 @@ class date_sql_handler {
       case 'WEEK':
         switch ($this->db_type) {
           case 'mysql':
-          case 'mysqli':
             // WEEK using arg 3 in MySQl should return the same value as
             // Postgres EXTRACT.
             return "WEEK($field, 3)";
@@ -563,7 +553,6 @@ class date_sql_handler {
       case 'DOW':
         switch ($this->db_type) {
           case 'mysql':
-          case 'mysqli':
             // MySQL returns 1 for Sunday through 7 for Saturday, PHP date
             // functions and Postgres use 0 for Sunday and 6 for Saturday.
             return "INTEGER(DAYOFWEEK($field) - 1)";
@@ -573,7 +562,6 @@ class date_sql_handler {
       case 'DOY':
         switch ($this->db_type) {
           case 'mysql':
-          case 'mysqli':
             return "DAYOFYEAR($field)";
           case 'pgsql':
             return "EXTRACT(DOY FROM($field))";
@@ -896,30 +884,30 @@ class date_sql_handler {
     }
     $formats = array('display', 'sql');
     // Start with the site long date format and add seconds to it.
-    $long = str_replace(':i', ':i:s', variable_get('date_format_long', 'l, F j, Y - \
H:i')); +    $short = str_replace(':i', ':i:s', variable_get('date_format_short', 'l, \
F j, Y - H:i'));  switch ($granularity) {
       case 'year':
         $formats['display'] = 'Y';
         $formats['sql'] = 'Y';
         break;
       case 'month':
-        $formats['display'] = date_limit_format($long, array('year', 'month'));
+        $formats['display'] = date_limit_format($short, array('year', 'month'));
         $formats['sql'] = 'Y-m';
         break;
       case 'day':
-        $formats['display'] = date_limit_format($long, array('year', 'month', \
'day')); +        $formats['display'] = date_limit_format($short, array('year', \
'month', 'day'));  $formats['sql'] = 'Y-m-d';
         break;
       case 'hour':
-        $formats['display'] = date_limit_format($long, array('year', 'month', 'day', \
'hour')); +        $formats['display'] = date_limit_format($short, array('year', \
'month', 'day', 'hour'));  $formats['sql'] = 'Y-m-d\TH';
         break;
       case 'minute':
-        $formats['display'] = date_limit_format($long, array('year', 'month', 'day', \
'hour', 'minute')); +        $formats['display'] = date_limit_format($short, \
array('year', 'month', 'day', 'hour', 'minute'));  $formats['sql'] = 'Y-m-d\TH:i';
         break;
       case 'second':
-        $formats['display'] = date_limit_format($long, array('year', 'month', 'day', \
'hour', 'minute', 'second')); +        $formats['display'] = \
date_limit_format($short, array('year', 'month', 'day', 'hour', 'minute', 'second')); \
$formats['sql'] = 'Y-m-d\TH:i:s';  break;
       case 'week':
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/date_context.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/date_context.info \
                index a69a599..5f4a042 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/date_context.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/date_context.info
@@ -8,9 +8,9 @@ dependencies[] = context

 files[] = date_context.module
 files[] = plugins/date_context_date_condition.inc
-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/plugins/date_context_date_condition.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/plugins/date_context_date_condition.inc
 index 733fb5a..573b035 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/plugins/date_context_date_condition.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_context/plugins/date_context_date_condition.inc
 @@ -41,7 +41,7 @@ class date_context_date_condition extends context_condition_node {
       '#description' => t("The value the field should contain to meet the condition. \
This can either be an absolute date in ISO format (YYYY-MM-DDTHH:MM:SS) or a relative \
string like '12AM today'. Examples: 2011-12-31T00:00:00, now, now +1 day, 12AM today, \
Monday next week. <a href=\"@relative_format\">More examples of relative date formats \
in the PHP documentation</a>.", array('@relative_format' => \
                'http://www.php.net/manual/en/datetime.formats.relative.php')),
       '#default_value' => isset($defaults['value']) ? $defaults['value'] : '',
       '#process' => array('ctools_dependent_process'),
-      '#dependency' => \
array(':input[name="conditions[plugins][date_context_date_condition][options][operation]"]' \
=> array('<', '<=', '>', '>=', '=', '!=')), +      '#dependency' => \
array('edit-conditions-plugins-date-context-date-condition-options-operation' => \
array('<', '<=', '>', '>=', '=', '!=')),  );
     return $form;
   }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_elements.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_elements.inc index \
                20620ed..4303d13 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_elements.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_elements.inc
@@ -77,7 +77,7 @@ function date_field_widget_form(&$form, &$form_state, $field, \
$instance, $langco  // lose all but the first value by doing this, so store the \
original values in case we need to replace them later.  if \
(!empty($field['settings']['repeat'])) {  if ($delta == 0) {
-      $form['#after_build'] = array('date_repeat_after_build');
+      $form['#after_build'][] = 'date_repeat_after_build';
       $form_state['storage']['repeat_fields'][$field_name] = \
                array_merge($form['#parents'], array($field_name));
       $form_state['storage']['date_items'][$field_name][$langcode] = $items;
     }
@@ -320,7 +320,7 @@ function date_combo_element_process($element, &$form_state, \
$form) {  '#field'         => $field,
     '#instance'      => $instance,
     '#weight'        => $instance['widget']['weight'],
-    '#required'      => ($instance['required'] && $delta == 0) ? 1 : 0,
+    '#required'      => ($element['#required'] && $delta == 0) ? 1 : 0,
     '#default_value' => isset($element['#default_value'][$from_field]) ? \
$element['#default_value'][$from_field] : '',  '#delta'         => $delta,
     '#date_timezone' => $element['#date_timezone'],
@@ -331,7 +331,8 @@ function date_combo_element_process($element, &$form_state, \
                $form) {
     '#date_label_position' => $instance['widget']['settings']['label_position'],
     );

-  $description =  !empty($instance['description']) ? t($instance['description']) : \
''; +  $description =  !empty($element['#description']) ? t($element['#description']) \
: ''; +  unset($element['#description']);

   // Give this element the right type, using a Date API
   // or a Date Popup element type.
@@ -363,8 +364,8 @@ function date_combo_element_process($element, &$form_state, \
$form) {  // is the 'Start' and which is the 'End' .

   if (!empty($field['settings']['todate'])) {
-    $element[$from_field]['#title'] = '';
     $element[$to_field] = $element[$from_field];
+    $element[$from_field]['#title_display'] = 'none';
     $element[$to_field]['#title'] = t('to:');
     $element[$from_field]['#wrapper_attributes']['class'][] = 'start-date-wrapper';
     $element[$to_field]['#wrapper_attributes']['class'][] = 'end-date-wrapper';
@@ -451,8 +452,8 @@ function date_combo_validate($element, &$form_state) {
     return;
   }

-  $item = $form_values[$field_name][$langcode][$delta];
-  $posted = $form_input[$field_name][$langcode][$delta];
+  $item = drupal_array_get_nested_value($form_state['values'], \
$element['#parents']); +  $posted = \
drupal_array_get_nested_value($form_state['input'], $element['#parents']);

   $field = field_widget_field($element, $form_state);
   $instance = field_widget_instance($element, $form_state);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date.migrate.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date.migrate.inc \
deleted file mode 100644 index 637a626..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date.migrate.inc
+++ /dev/null
@@ -1,175 +0,0 @@
-<?php
-
-/**
- * @file
- * Support for migration into Date fields.
- */
-
-class DateMigrateFieldHandler extends MigrateFieldHandler {
-
-  /**
-   * Declares the types of fields used.
-   */
-  public function __construct() {
-    $this->registerTypes(array('date', 'datestamp', 'datetime'));
-  }
-
-  /**
-   * Arguments for a date field migration.
-   *
-   * @param string $timezone
-   *   Timezone (such as UTC, America/New_York, etc.) to apply.
-   * @param string $timezone_db
-   *   Timezone_db value for the field.
-   * @param string $rrule
-   *   Rule string for a repeating date field.
-   * @param string $language
-   *   Language of the text (defaults to destination language)
-   *
-   * @return array
-   *   An array of the defined variables in this scope.
-   */
-  static function arguments($timezone = 'UTC', $timezone_db = 'UTC', $rrule = NULL, \
                $language = NULL) {
-    return get_defined_vars();
-  }
-
-  /**
-   * Converts incoming data into the proper field arrays for Date fields.
-   *
-   * @param object $entity
-   *   The destination entity which will hold the field arrays.
-   * @param array $field_info
-   *   Metadata for the date field being populated.
-   * @param array $instance
-   *   Metadata for this instance of the date field being populated.
-   * @param array $values
-   *   Array of date values to be fielded.
-   *
-   * @return array|null
-   *   An array of date fields.
-   */
-  public function prepare($entity, array $field_info, array $instance, array \
                $values) {
-    if (isset($values['arguments'])) {
-      $arguments = $values['arguments'];
-      unset($values['arguments']);
-    }
-    else {
-      $arguments = array();
-    }
-
-    if (isset($arguments['timezone'])) {
-      $default_timezone = $arguments['timezone'];
-    }
-    else {
-      $default_timezone = 'UTC';
-    }
-    if (isset($arguments['timezone_db'])) {
-      $default_timezone_db = $arguments['timezone_db'];
-    }
-    else {
-      $default_timezone_db = NULL;
-    }
-    if (isset($arguments['rrule'])) {
-      $default_rrule = $arguments['rrule'];
-    }
-    else {
-      $default_rrule = NULL;
-    }
-    $language = $this->getFieldLanguage($entity, $field_info, $arguments);
-
-    // Setup the standard Field API array for saving.
-    $delta = 0;
-    foreach ($values as $from) {
-      // Set defaults.
-      $to = NULL;
-      $timezone = $default_timezone;
-      $timezone_db = $default_timezone_db;
-      $rrule = $default_rrule;
-
-      // Is the value a straight datetime value, or JSON containing a set of
-      // properties?
-      if (!empty($from) && $from{0} == '{') {
-        $properties = drupal_json_decode($from);
-        $from = $properties['from'];
-        // Properties passed in with the date override any set via arguments.
-        if (!empty($properties['to'])) {
-          $to = $properties['to'];
-        }
-        if (!empty($properties['timezone'])) {
-          $timezone = $properties['timezone'];
-        }
-        if (!empty($properties['timezone_db'])) {
-          $timezone_db = $properties['timezone_db'];
-        }
-        if (!empty($properties['rrule'])) {
-          $rrule = $properties['rrule'];
-        }
-      }
-
-      // Missing data? Create an empty value and return;
-      // Don't try to turn the empty value into a bogus
-      // timestamp for 'now'.
-      if (empty($from)) {
-        $return[$language][$delta]['value'] = NULL;
-        if (!empty($field_info['settings']['todate'])) {
-          $return[$language][$delta]['value2'] = NULL;
-        }
-        return $return;
-      }
-
-      // If there is no 'to' date, just use the 'from' date.
-      if (!empty($field_info['settings']['todate']) && empty($to)) {
-        $to = $from;
-      }
-
-      // If we have a value, work from a timestamp.
-      $from = MigrationBase::timestamp($from);
-      if ($to) {
-        $to = MigrationBase::timestamp($to);
-      }
-
-      // What does the destination field expect?
-      switch ($field_info['type']) {
-        case 'datestamp':
-          // Already done.
-          break;
-        case 'datetime':
-          // YYYY-MM-DD HH:MM:SS.
-          $from = format_date($from, 'custom', 'Y-m-d H:i:s', $timezone);
-          if ($to) {
-            $to = format_date($to, 'custom', 'Y-m-d H:i:s', $timezone);
-          }
-          break;
-        case 'date':
-          // ISO date: YYYY-MM-DDTHH:MM:SS.
-          $from = format_date($from, 'custom', 'Y-m-d\TH:i:s', $timezone);
-          if ($to) {
-            $to = format_date($to, 'custom', 'Y-m-d\TH:i:s', $timezone);
-          }
-          break;
-        default:
-          break;
-      }
-
-      // Handle repeats, coming in as RRULEs. Many field instances may be
-      // created.
-      if (function_exists('date_repeat_build_dates') && \
                !empty($field_info['settings']['repeat']) && $rrule) {
-        include_once DRUPAL_ROOT . '/' . drupal_get_path('module', 'date_api') . \
                '/date_api_ical.inc';
-        $item = array('value' => $from, 'value2' => $to, 'timezone' => $timezone);
-        // Can be de-uglified when http://drupal.org/node/1159404 is committed.
-        $return[$language] = date_repeat_build_dates(NULL, \
                date_ical_parse_rrule($field_info, $rrule), $field_info, $item);
-      }
-      else {
-        $return[$language][$delta]['value'] = $from;
-        if (!empty($to)) {
-          $return[$language][$delta]['value2'] = $to;
-        }
-      }
-      $delta++;
-    }
-    if (!isset($return)) {
-      $return = NULL;
-    }
-    return $return;
-  }
-}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.info \
                index c0d536f..7cd23a4 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.info
@@ -1,16 +1,12 @@
 name = Date Migration
-description = Provides support for importing into date fields with the Migrate \
module. +description = Obsolete data migration module. Disable if no other modules \
depend on it.  core = 7.x
 package = Date/Time
+hidden = TRUE

-dependencies[] = migrate
-dependencies[] = date
-files[] = date.migrate.inc
-files[] = date_migrate.test
-
-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.module \
                index accdcf8..158791a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.module
 @@ -2,15 +2,5 @@

 /**
  * @file
- * Migration integration for Date Migrate.
+ * Obsolete migration integration for Date - now in Date itself.
  */
-
-/**
- * Implements hook_migrate_api().
- */
-function date_migrate_migrate_api() {
-  $api = array(
-    'api' => 2,
-  );
-  return $api;
-}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.test \
deleted file mode 100644 index 400b2d2..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate.test
+++ /dev/null
@@ -1,70 +0,0 @@
-<?php
-
-/**
- * @file
- * Test for using date fields with Migrate module.
- */
-
-/**
- * Test date migration.
- */
-class DateMigrateExampleUnitTest extends DrupalWebTestCase {
-
-  /**
-   * Provides information about this test.
-   */
-  public static function getInfo() {
-    return array(
-      'name' => 'Date2 migration',
-      'description' => 'Testing migration of date fields',
-      'group' => 'Migrate',
-    );
-  }
-
-  /**
-   * Declars the module dependencies for the test.
-   */
-  function setUp() {
-    parent::setUp('migrate', 'features', 'date', 'date_repeat', 'date_repeat_field', \
                'date_migrate_example');
-  }
-
-  /**
-   * Verify that date fields are imported correctly. When no timezone is
-   * explicitly provided with the source data, we want the displayed time on the
-   * Drupal site to match that in the source data. To validate that, we make
-   * sure we have set a consistent timezone at the PHP and Drupal levels, and
-   * that the format used on the page is not locale-dependent (no day or month
-   * names). Then, we can just look for the desired date/time strings in the
-   * node page.
-   */
-  function testDateImport() {
-    date_default_timezone_set('America/Los_Angeles');
-    variable_set('date_default_timezone', 'America/Los_Angeles');
-    variable_set('date_format_medium', 'Y-m-d H:i');
-    $migration = Migration::getInstance('DateExample');
-    $result = $migration->processImport();
-    $this->assertEqual($result, Migration::RESULT_COMPLETED, t('Variety term import \
                returned RESULT_COMPLETED'));
-    $rawnodes = node_load_multiple(FALSE, array('type' => 'date_migrate_example'), \
                TRUE);
-    $this->assertEqual(count($rawnodes), 2, t('Two sample nodes created'));
-    $node = reset($rawnodes);
-    $this->drupalGet('/node/' . $node->nid);
-    $this->assertText('2011-05-12 19:43', t('Simple date field found'));
-    $this->assertText('2011-06-13 18:32 to 2011-07-23 10:32', t('Date range field \
                found'));
-    $this->assertText('2011-07-22 12:13', t('Datestamp field found'));
-    $this->assertText('2011-08-01 00:00 to 2011-09-01 00:00', t('Datestamp range \
                field found'));
-    $this->assertText('2011-11-18 15:00', t('Datetime field with +9 timezone \
                found'));
-    $this->assertText('2011-10-30 14:43 to 2011-12-31 17:59', t('Datetime range \
                field with -5 timezone found'));
-    $this->assertText('2011-11-25 09:01', t('First date repeat instance found'));
-    $this->assertText('2011-12-09 09:01', t('Second date repeat instance found'));
-    $this->assertNoText('2011-12-23 09:01', t('Skipped date repeat instance not \
                found'));
-    $this->assertText('2012-05-11 09:01', t('Last date repeat instance found'));
-    $node = next($rawnodes);
-    $this->drupalGet('/node/' . $node->nid);
-    $this->assertText('2012-06-21 15:32', t('First date value found'));
-    $this->assertText('2012-12-02 11:08', t('Second date value found'));
-    $this->assertText('2004-02-03 01:15', t('Start for first date range found'));
-    $this->assertText('2005-03-04 22:11', t('End for first date range found'));
-    $this->assertText('2014-09-01 17:21', t('Start for second date range found'));
-    $this->assertText('2015-12-23 00:01', t('End for first second range found'));
-  }
-}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.info
 index b54a3f7..e5bbc8a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.info
 @@ -2,7 +2,6 @@ core = "7.x"
 dependencies[] = "date"
 dependencies[] = "date_repeat"
 dependencies[] = "date_repeat_field"
-dependencies[] = "date_migrate"
 dependencies[] = "features"
 dependencies[] = "migrate"
 description = "Examples of migrating with the Date module"
@@ -21,9 +20,9 @@ package = "Features"
 project = "date_migrate_example"
 version = "7.x-2.0"

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.migrate.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.migrate.inc
 index 491c27f..fcc2a22 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.migrate.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.migrate.inc
 @@ -13,8 +13,8 @@ class DateExampleMigration extends XMLMigration {
   /**
    * Sets up the migration.
    */
-  public function __construct() {
-    parent::__construct();
+  public function __construct($arguments = array()) {
+    parent::__construct($arguments);
     $this->description = t('Example migration into date fields');

     $this->map = new MigrateSQLMap($this->machineName,
@@ -66,28 +66,34 @@ class DateExampleMigration extends XMLMigration {

     // For date ranges, we add the "end" value in prepareRow() below.
     $this->addFieldMapping('field_date_range', 'date_range_from');
+    $this->addFieldMapping('field_date_range:to', 'date_range_to');

     // RRULEs on repeat fields are also done in prepareRow().
     $this->addFieldMapping('field_date_repeat', 'date_repeat');
+    $this->addFieldMapping('field_date_repeat:rrule', 'date_repeat_rrule');

     $this->addFieldMapping('field_datestamp', 'datestamp')
       ->xpath('datestamp');
     $this->addFieldMapping('field_datestamp_range', 'datestamp_range_from');
+    $this->addFieldMapping('field_datestamp_range:to', 'datestamp_range_to');

     // You can specify a timezone to be applied to all values going into the
     // field (Tokyo is UTC+9, no DST)
-    $arguments = DateMigrateFieldHandler::arguments('Asia/Tokyo');
     $this->addFieldMapping('field_datetime', 'datetime')
-      ->xpath('datetime')
-      ->arguments($arguments);
+      ->xpath('datetime');
+    $this->addFieldMapping('field_datetime:timezone')
+      ->defaultValue('Asia/Tokyo');

     // You can also get the timezone from the source data - it can be different
     // for each instance of the field. Like To and RRULE values, it is added
     // in prepareRow().
     $this->addFieldMapping('field_datetime_range', 'datetime_range_from');
+    $this->addFieldMapping('field_datetime_range:to', 'datetime_range_to');
+    $this->addFieldMapping('field_datetime_range:timezone', \
'datetime_range_timezone');

     // Unmapped destination fields.
-    $this->addUnmigratedDestinations(array('is_new', 'status', 'promote', \
'revision', 'language', 'sticky', 'created', 'changed', 'revision_uid')); +    \
$this->addUnmigratedDestinations(array('is_new', 'status', 'promote', +      \
'revision', 'language', 'sticky', 'created', 'changed', 'revision_uid'));  }

   /**
@@ -101,30 +107,25 @@ class DateExampleMigration extends XMLMigration {
     // The date range field can have multiple values.
     $current_row->date_range_from = array();
     foreach ($current_row->xml->date_range as $range) {
-      $date_data = array(
-        'from' => (string) $range->from[0],
-        'to' => (string) $range->to[0],
-      );
-      $current_row->date_range_from[] = drupal_json_encode($date_data);
+      $current_row->date_range_from[] = (string)$range->from[0];
+      $current_row->date_range_to[] = (string)$range->to[0];
     }

-    $date_data = array(
-      'from' => (string) $current_row->xml->datestamp_range->from[0],
-      'to' => (string) $current_row->xml->datestamp_range->to[0],
-    );
-    $current_row->datestamp_range_from = drupal_json_encode($date_data);
-
-    $date_data = array(
-      'from' => (string) $current_row->xml->datetime_range->from[0],
-      'to' => (string) $current_row->xml->datetime_range->to[0],
-      'timezone' => (string) $current_row->xml->datetime_range->timezone[0],
-    );
-    $current_row->datetime_range_from = drupal_json_encode($date_data);
-
-    $date_data = array(
-      'from' => (string) $current_row->xml->date_repeat->date[0],
-      'rrule' => (string) $current_row->xml->date_repeat->rule[0],
-    );
-    $current_row->date_repeat = drupal_json_encode($date_data);
+    $current_row->datestamp_range_from +      (string) \
$current_row->xml->datestamp_range->from[0]; +    $current_row->datestamp_range_to +  \
(string) $current_row->xml->datestamp_range->to[0]; +
+    $current_row->datetime_range_from +      (string) \
$current_row->xml->datetime_range->from[0]; +    $current_row->datetime_range_to +    \
(string) $current_row->xml->datetime_range->to[0]; +    \
$current_row->datetime_range_timezone +      (string) \
$current_row->xml->datetime_range->timezone[0]; +
+    $current_row->date_repeat +      (string) \
$current_row->xml->date_repeat->date[0]; +    $current_row->date_repeat_rrule +      \
(string) $current_row->xml->date_repeat->rule[0];  }
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module
 index 993bd11..2ed7a61 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_migrate/date_migrate_example/date_migrate_example.module
 @@ -13,6 +13,9 @@ include_once 'date_migrate_example.features.inc';
 function date_migrate_example_migrate_api() {
   $api = array(
     'api' => 2,
+    'migrations' => array(
+      'DateExample' => array('class_name' => 'DateExampleMigration')
+    ),
   );
   return $api;
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/README.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/README.txt index \
                149810f..7a66628 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/README.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/README.txt
@@ -18,7 +18,7 @@ Timepicker
 ===============================================================================
 There are three ways to let users select time in the Date Popup widgets.
-You can choose between them by going to admin/config/content/date_popup.
+You can choose between them by going to admin/config/date/date_popup.

 The options are:

@@ -99,10 +99,10 @@ Example:

 $form['date'] = array(
   '#type' => 'date_popup',
-  '#default_value' => '2007-01-01 10:30:00,
+  '#default_value' => '2007-01-01 10:30:00',
   '#date_type' => DATE_DATETIME,
   '#date_timezone' => date_default_timezone(),
-  '#date_format' => 'm/d/Y - H:i',
+  '#date_format' => 'm-d-Y H:i',
   '#date_increment' => 1,
   '#date_year_range' => '-3:+3',
 );
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.info index \
                767aaca..cdaf48e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.info
@@ -7,9 +7,9 @@ configure = admin/config/date/date_popup

 stylesheets[all][] = themes/datepicker.1.7.css

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.module index \
                ca292ef..a2d0ebb 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_popup/date_popup.module
@@ -87,7 +87,7 @@ function date_popup_library() {
       $path . '/jquery.timeentry.pack.js' => array(),
     ),
     'css' => array(
-      $path . '/themes/jquery.timeentry.css' => array('preprocess' => FALSE),
+      $path . '/themes/jquery.timeentry.css' => array(),
     ),
   );
   return $libraries;
@@ -352,7 +352,8 @@ function date_popup_process_date_part(&$element) {
   $parents = array_merge($element['#parents'], array('date'));
   $sub_element = array(
     '#type' => 'textfield',
-    '#title' => $element['#date_label_position'] == 'above' ? \
theme('date_part_label_date', array('part_type' => 'date', 'element' => $element)) : \
'', +    '#title' => theme('date_part_label_date', array('part_type' => 'date', \
'element' => $element)), +    '#title_display' => $element['#date_label_position'] == \
'above' ? 'before' : 'invisible',  '#default_value' => $element['#value']['date'],
     '#id' => $id,
     '#input' => FALSE,
@@ -427,7 +428,8 @@ function date_popup_process_time_part(&$element) {
   $parents = array_merge($element['#parents'], array('time'));
   $sub_element = array(
     '#type' => 'textfield',
-    '#title' => $element['#date_label_position'] == 'above' ? \
theme('date_part_label_time', array('part_type' => 'time', 'element' => $element)) : \
'', +    '#title' => theme('date_part_label_time', array('part_type' => 'time', \
'element' => $element)), +    '#title_display' => $element['#date_label_position'] == \
'above' ? 'before' : 'invisible',  '#default_value' => $element['#value']['time'],
     '#id' => $id,
     '#size' => 15,
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat.info index \
                1d1720a..d42bec9 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat.info
@@ -7,9 +7,9 @@ php = 5.2
 files[] = tests/date_repeat.test
 files[] = tests/date_repeat_form.test

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat_form.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat_form.inc \
                index 9cef000..db7a79b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat_form.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat/date_repeat_form.inc
 @@ -941,7 +941,6 @@ function theme_date_repeat_current_additions($rows = array()) {
  */
 function theme_date_repeat_rrule($vars) {
   $element = $vars['element'];
-  $class = $element['#date_repeat_collapsed'] ? array('date-no-float', \
'collapsible', 'collapsed') : array('date-no-float', 'collapsible');  $id = \
drupal_html_id('repeat-settings-fieldset');  $parents = $element['#parents'];
   $selector = "{$parents[0]}[{$parents[1]}][{$parents[2]}][show_repeat_settings]";
@@ -949,11 +948,10 @@ function theme_date_repeat_rrule($vars) {
     '#type' => 'item',
     '#title' => t('Repeat settings'),
     '#title_display' => 'invisible',
-    '#attributes' => array('class' => $class),
     '#markup' => $element['#children'],
     '#states' => array(
-      'visible' => array(
-        ":input[name=\"{$selector}\"]" => array('checked' => TRUE),
+      'invisible' => array(
+        ":input[name=\"{$selector}\"]" => array('checked' => FALSE),
       ),
     ),
     '#id' => $id,
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.info
 index 803105c..90d556c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.info
 @@ -7,9 +7,9 @@ stylesheets[all][] = date_repeat_field.css
 package = Date/Time
 core = 7.x

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.module
 index 675ed02..c04e13e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_repeat_field/date_repeat_field.module
 @@ -55,7 +55,7 @@ function theme_date_repeat_display($vars) {
   $output = '';
   if (!empty($item['rrule'])) {
     $output = date_repeat_rrule_description($item['rrule']);
-    $output = '<div>' . $output . '</div>';
+    $output = '<div class="date-repeat-rule">' . $output . '</div>';
   }
   return $output;
 }
@@ -346,15 +346,8 @@ function date_repeat_field_widget_validate($element, \
&$form_state) {  // the repeating dates, wipe out the previous values, and populate \
the  // field with the new values.

-  // TODO
-  // Is it right to not do anything unless there are changes? Will that
-  // confuse anyone? Commenting that out for now...
   $rrule = $item['rrule'];
-  if (!empty($rrule)
-    //&& ($rrule != $element['rrule']['#prev_rrule']
-    //|| $item['value'] != $element['rrule']['#prev_value']
-    //|| $item['value2'] != $element['rrule']['#prev_value2'])
-    ) {
+  if (!empty($rrule)) {

     // Avoid undefined index problems on dates that don't have all parts.
     $possible_items = array('value', 'value2', 'timezone', 'offset', 'offset2');
@@ -514,9 +507,6 @@ function date_repeat_field_date_combo_process_alter(&$element, \
                &$form_state, $co
       '#date_increment'   => $instance['widget']['settings']['increment'],
       '#date_year_range'  => $instance['widget']['settings']['year_range'],
       '#date_label_position' => $instance['widget']['settings']['label_position'],
-      '#prev_value' => isset($item['value']) ? $item['value'] : '',
-      '#prev_value2' => isset($item['value2']) ? $item['value2'] : '',
-      '#prev_rrule' => isset($item['rrule']) ? $item['rrule'] : '',
       '#date_repeat_widget' => str_replace('_repeat', '', \
                $instance['widget']['type']),
       '#date_repeat_collapsed' => \
$instance['widget']['settings']['repeat_collapsed'],  '#date_flexible' => 0,
@@ -626,6 +616,17 @@ function \
date_repeat_field_form_field_ui_field_edit_form_alter(&$form, &$form_st  \
                $form['field']['cardinality']['#disabled'] = TRUE;
     $form['field']['cardinality']['#value'] = FIELD_CARDINALITY_UNLIMITED;
   }
+  // Repeating dates need unlimited values, confirm that in element_validate.
+  $form['field']['#element_validate'] = array('date_repeat_field_set_cardinality');
+}
+
+/**
+ * Ensure the cardinality gets updated if the option to make a date repeating is \
checked. + */
+function date_repeat_field_set_cardinality($element, &$form_state) {
+  if (!empty($form_state['values']['field']['settings']['repeat'])) {
+    form_set_value($element['cardinality'], FIELD_CARDINALITY_UNLIMITED, \
$form_state); +  }
 }

 /**
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_tools/date_tools.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_tools/date_tools.info index \
                3f392a4..51b8691 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_tools/date_tools.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_tools/date_tools.info
@@ -6,9 +6,9 @@ core = 7.x
 configure = admin/config/date/tools
 files[] = tests/date_tools.test

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/date_views.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/date_views.info index \
                ef7da6c..4abeb60 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/date_views.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/date_views.info
@@ -9,13 +9,12 @@ files[] = includes/date_views_argument_handler.inc
 files[] = includes/date_views_argument_handler_simple.inc
 files[] = includes/date_views_filter_handler.inc
 files[] = includes/date_views_filter_handler_simple.inc
-files[] = includes/date_views.views_default.inc
 files[] = includes/date_views.views.inc
 files[] = includes/date_views_plugin_pager.inc

-; Information added by drupal.org packaging script on 2012-08-13
-version = "7.x-2.6"
+; Information added by Drupal.org packaging script on 2013-12-21
+version = "7.x-2.7"
 core = "7.x"
 project = "date"
-datestamp = "1344850024"
+datestamp = "1387659206"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_argument_handler_simple.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_argument_handler_simple.inc
 index faff05a..2d3fb7c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_argument_handler_simple.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_argument_handler_simple.inc
 @@ -85,7 +85,7 @@ class date_views_argument_handler_simple extends \
views_handler_argument_date {  $options = parent::option_definition();
     $options['year_range'] = array('default' => '-3:+3');
     $options['granularity'] = array('default' => 'month');
-    $options['default_argument_type'] = array('default' => 'date');
+    $options['default_argument_type']['default'] = 'date';
     $options['add_delta'] = array('default' => '');
     $options['use_fromto'] = array('default' => '');
     $options['title_format'] = array('default' => '');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler.inc
 index 5eb5ebc..0cfc7fc 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler.inc
 @@ -36,6 +36,10 @@ class date_views_filter_handler extends \
date_views_filter_handler_simple {  $this->date_combine_conditions('op_simple');
   }

+  function op_contains($field) {
+    $this->date_combine_conditions('op_contains');
+  }
+
   /**
    * Combines multiple date WHERE expressions into a single WHERE expression.
    *
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler_simple.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler_simple.inc
 index 8a46253..b84eac3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler_simple.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/date_views/includes/date_views_filter_handler_simple.inc
 @@ -42,6 +42,17 @@ class date_views_filter_handler_simple extends \
views_handler_filter_date {  return $options;
   }

+  function operators() {
+    $operators = parent::operators();
+    $operators['contains'] = array(
+      'title' => t('Contains'),
+      'method' => 'op_contains',
+      'short' => t('contains'),
+      'values' => 1,
+    );
+    return $operators;
+  }
+
   /**
    * Helper function to find a default value.
    */
@@ -53,8 +64,8 @@ class date_views_filter_handler_simple extends \
views_handler_filter_date {  // If this is a remembered value, use the value from the \
SESSION.  if (!empty($this->options['expose']['remember'])) {
       $display_id = ($this->view->display_handler->is_defaulted('filters')) ? \
                'default' : $this->view->current_display;
-      if (!empty($_SESSION['views'][$this->view->name][$display_id]['date_filter'][$prefix])) \
                {
-        return $_SESSION['views'][$this->view->name][$display_id]['date_filter'][$prefix];
 +      if (!empty($_SESSION['views'][$this->view->name][$display_id][$this->options['expose']['identifier']][$prefix])) \
{ +        return $_SESSION['views'][$this->view->name][$display_id][$this->options['expose']['identifier']][$prefix];
  }
     }

@@ -104,8 +115,12 @@ class date_views_filter_handler_simple extends \
                views_handler_filter_date {
       $element_input['value'] = $this->get_filter_value('value', \
                !empty($element_input['value']) ? $element_input['value'] : '');
       $element_input['min'] = $this->get_filter_value('min', \
                !empty($element_input['min']) ? $element_input['min'] : '');
       $element_input['max'] = $this->get_filter_value('max', \
                !empty($element_input['max']) ? $element_input['max'] : '');
-      unset($element_input['default_date']);
-      unset($element_input['default_to_date']);
+      if (is_array($element_input) && isset($element_input['default_date'])) {
+        unset($element_input['default_date']);
+      }
+      if (is_array($element_input) && isset($element_input['default_to_date'])) {
+        unset($element_input['default_to_date']);
+      }

       $input[$this->options['expose']['identifier']] = $element_input;
     }
@@ -163,6 +178,29 @@ class date_views_filter_handler_simple extends \
                views_handler_filter_date {
     $this->query->add_where_expression($group, "$field $this->operator \
$placeholder", array($placeholder => $value));  }

+  function op_contains($field) {
+
+    // Add the delta field to the view so we can later find the value that matched \
our query. +    list($table_name, $field_name) = explode('.', $field);
+    if (!empty($this->options['add_delta']) && (substr($field_name, -6) == '_value' \
|| substr($field_name, -7) == '_value2')) { +      \
$this->query->add_field($table_name, 'delta'); +    }
+
+    $value = $this->get_filter_value('value', $this->value['value']);
+    $comp_date = new DateObject($value, date_default_timezone(), $this->format);
+    $fields = date_views_fields($this->base_table);
+    $fields = $fields['name'];
+    $fromto = $fields[$field]['fromto'];
+    $field_min = $this->date_handler->sql_field($fromto[0], NULL, $comp_date);
+    $field_min = $this->date_handler->sql_format($this->format, $field_min);
+    $field_max = $this->date_handler->sql_field($fromto[1], NULL, $comp_date);
+    $field_max = $this->date_handler->sql_format($this->format, $field_max);
+    $placeholder_min = $this->placeholder();
+    $placeholder_max = $this->placeholder();
+    $group = !empty($this->options['date_group']) ? $this->options['date_group'] : \
$this->options['group']; +    $this->query->add_where_expression($group, "$field_max \
>= $placeholder_min AND $field_min <= $placeholder_max", array($placeholder_min => \
> $value, $placeholder_max => $value));
+  }
+
   /**
    * Set the granularity of the date parts to use in the filter.
     */
@@ -316,7 +354,7 @@ class date_views_filter_handler_simple extends \
views_handler_filter_date {  $type = 'date_text';
     }

-    $format = $this->date_handler->views_formats($this->options['granularity'], \
'sql'); +    $format = \
                $this->date_handler->views_formats($this->options['granularity'], \
                'display');
     $granularity = array_keys($this->date_handler->date_parts($this->options['granularity']));
                
     $relative_value = ($prefix == 'max' ? $this->options['default_to_date'] : \
$this->options['default_date']);

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/date/tests/date_migrate.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/date/tests/date_migrate.test new file \
mode 100644 index 0000000..cdde115
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/date/tests/date_migrate.test
@@ -0,0 +1,80 @@
+<?php
+
+/**
+ * @file
+ * Test for using date fields with Migrate module.
+ */
+
+/**
+ * Test date migration.
+ */
+class DateMigrateExampleUnitTest extends DrupalWebTestCase {
+
+  /**
+   * Provides information about this test.
+   */
+  public static function getInfo() {
+    return array(
+      'name' => 'Date Migration',
+      'description' => 'Test migration into date fields',
+      'group' => 'Date',
+    );
+  }
+
+  /**
+   * Declars the module dependencies for the test.
+   */
+  function setUp() {
+    parent::setUp('migrate', 'features', 'date', 'date_repeat',
+                  'date_repeat_field', 'date_migrate_example');
+    // Make sure the migration is registered.
+    if (function_exists('migrate_static_registration')) {
+      // Migrate 2.6 and later
+      migrate_static_registration();
+    }
+    else {
+      // Migrate 2.5 and earlier
+      migrate_get_module_apis(TRUE);
+    }
+  }
+
+  /**
+   * Verify that date fields are imported correctly. When no timezone is
+   * explicitly provided with the source data, we want the displayed time on the
+   * Drupal site to match that in the source data. To validate that, we make
+   * sure we have set a consistent timezone at the PHP and Drupal levels, and
+   * that the format used on the page is not locale-dependent (no day or month
+   * names). Then, we can just look for the desired date/time strings in the
+   * node page.
+   */
+  function testDateImport() {
+    date_default_timezone_set('America/Los_Angeles');
+    variable_set('date_default_timezone', 'America/Los_Angeles');
+    variable_set('date_format_medium', 'Y-m-d H:i');
+    $migration = Migration::getInstance('DateExample');
+    $result = $migration->processImport();
+    $this->assertEqual($result, Migration::RESULT_COMPLETED, t('Variety term import \
returned RESULT_COMPLETED')); +    $rawnodes = node_load_multiple(FALSE, array('type' \
=> 'date_migrate_example'), TRUE); +    $this->assertEqual(count($rawnodes), 2, \
t('Two sample nodes created')); +    $node = reset($rawnodes);
+    $this->drupalGet('/node/' . $node->nid);
+    $this->assertText('2011-05-12 19:43', t('Simple date field found'));
+    $this->assertText('2011-06-13 18:32 to 2011-07-23 10:32', t('Date range field \
found')); +    $this->assertText('2011-07-22 12:13', t('Datestamp field found'));
+    $this->assertText('2011-08-01 00:00 to 2011-09-01 00:00', t('Datestamp range \
field found')); +    $this->assertText('2011-11-18 15:00', t('Datetime field with +9 \
timezone found')); +    $this->assertText('2011-10-30 14:43 to 2011-12-31 17:59', \
t('Datetime range field with -5 timezone found')); +    $this->assertText('2011-11-25 \
09:01', t('First date repeat instance found')); +    $this->assertText('2011-12-09 \
09:01', t('Second date repeat instance found')); +    $this->assertNoText('2011-12-23 \
09:01', t('Skipped date repeat instance not found')); +    \
$this->assertText('2012-05-11 09:01', t('Last date repeat instance found')); +    \
$node = next($rawnodes); +    $this->drupalGet('/node/' . $node->nid);
+    $this->assertText('2012-06-21 15:32', t('First date value found'));
+    $this->assertText('2012-12-02 11:08', t('Second date value found'));
+    $this->assertText('2004-02-03 01:15', t('Start for first date range found'));
+    $this->assertText('2005-03-04 22:11', t('End for first date range found'));
+    $this->assertText('2014-09-01 17:21', t('Start for second date range found'));
+    $this->assertText('2015-12-23 00:01', t('End for first second range found'));
+  }
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.info index 28c5770..c81b368 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.info
@@ -4,15 +4,13 @@ dependencies[] = locale
 dependencies[] = variable
 package = Multilingual - Internationalization
 core = 7.x
-
-files[] = i18n.install
 files[] = i18n_object.inc
 files[] = i18n.test
 configure = admin/config/regional/i18n

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.test \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.test index 247af33..491d7ef \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.test
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n.test
@@ -144,12 +144,14 @@ class Drupali18nTestCase extends DrupalWebTestCase {
   }

   /**
-   * Create a "Basic page" in the specified language.
-   *
+   * Create a node of the specified type in the specified language.
+
+   * @param $type
+   *   The node type.
    * @param $title
-   *   Title of basic page in specified language.
+   *   Title of node in specified language.
    * @param $body
-   *   Body of basic page in specified language.
+   *   Body of node in specified language.
    * @param $langcode
    *   Language code.
    */
@@ -159,7 +161,9 @@ class Drupali18nTestCase extends DrupalWebTestCase {
     $edit["body[$lang][0][value]"] = $body;
     $edit['language'] = $langcode;
     $this->drupalPost('node/add/' . $type, $edit, t('Save'));
-    $this->assertRaw(t('Basic @type %title has been created.', array('@type' => \
$type, '%title' => $title)), t('Basic page created.')); +    $info = \
node_type_load($type); +    $message = t('@name %title has been created.', \
array('@name' => $info->name, '%title' => $title)); +    $this->assertRaw($message);

     // Check to make sure the node was created.
     $node = $this->drupalGetNodeByTitle($title);
@@ -169,15 +173,14 @@ class Drupali18nTestCase extends DrupalWebTestCase {
   }

   /**
-   * Create a translation for the specified basic page in the specified
-   * language.
+   * Create a translation for the specified node in the specified language.
    *
    * @param $node
    *   The basic page to create translation for.
    * @param $title
-   *   Title of basic page in specified language.
+   *   Title of node in specified language.
    * @param $body
-   *   Body of basic page in specified language.
+   *   Body of node in specified language.
    * @param $language
    *   Language code.
    */
@@ -196,8 +199,9 @@ class Drupali18nTestCase extends DrupalWebTestCase {
     $edit["title"] = $title;
     $edit[$body_key] = $body;
     $this->drupalPost(NULL, $edit, t('Save'));
-    $this->assertRaw(t('Basic page %title has been created.', array('%title' => \
                $title)), t('Translation created.'));
-
+    $info = node_type_load($node->type);
+    $message = t('@name %title has been created.', array('@name' => $info->name, \
'%title' => $title)); +    $this->assertRaw($message);
     // Check to make sure that translation was successful.
     $translation = $this->drupalGetNodeByTitle($title);
     $this->assertTrue($translation, t('Node found in database.'));
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_block/i18n_block.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_block/i18n_block.info index \
                52de33c..9b1c51e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_block/i18n_block.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_block/i18n_block.info
@@ -8,9 +8,9 @@ files[] = i18n_block.inc
 files[] = i18n_block.test


-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_contact/i18n_contact.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_contact/i18n_contact.info \
                index 9ca0957..fa1351c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_contact/i18n_contact.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_contact/i18n_contact.info
@@ -5,9 +5,9 @@ dependencies[] = i18n_string
 package = Multilingual - Internationalization
 core = 7.x

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.api.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.api.php new \
file mode 100644 index 0000000..3f5b01c
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.api.php
@@ -0,0 +1,53 @@
+<?php
+
+/**
+ * @file
+ * API documentation file for Field translation module.
+ *
+ * This module takes care of translating common field elements like title and
+ * description for all fields, plus some field specific values (default, options)
+ * for field types defined by Drupal core.
+ *
+ * Before implementing any of these hooks, consider whether you would be better
+ * off implementing Drupal core's hook_field_widget_form_alter().
+ *
+ * @see i18n_field_field_widget_form_alter()
+ */
+
+/**
+ * Provide information about callbacks for translating specific field types.
+ *
+ * This information can be retrieved using i18n_field_type_info().
+ * @return
+ *   Array of values indexed by field type. Valid keys are:
+ *   - 'translate_default', Callback for translating the default value for this \
field type. + *   - 'translate_options', Callback for translating options for this \
field type. + *
+ * @see i18n_field_type_info()
+ * @see i18n_field_i18n_field_info()
+ *
+ * For examples of both callback types:
+ *
+ * @see i18n_field_translate_allowed_values()
+ * @see i18n_field_translate_default()
+ *
+ */
+function hook_i18n_field_info() {
+  $info['text'] = $info['text_long'] = $info['text_with_summary'] = array(
+    'translate_default' => 'i18n_field_translate_default',
+  );
+  $info['list_text'] = $info['list_boolean'] = $info['list_integer'] = array(
+    'translate_options' => 'i18n_field_translate_allowed_values',
+  );
+  return $info;
+}
+
+/**
+ * Alter information provided by hook_i18n_field_info().
+ *
+ * @see i18n_field_type_info()
+ */
+function hook_i18n_field_info_alter(&$info) {
+  // Unset the default callback for text fields.
+  unset($info['text']['translate_default']);
+}
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.info index \
                c3a40a3..ebd630e 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.info
@@ -6,9 +6,9 @@ package = Multilingual - Internationalization
 core = 7.x
 files[] = i18n_field.inc
 files[] = i18n_field.test
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.module index \
                f39a6a7..b682397 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_field/i18n_field.module
@@ -163,7 +163,6 @@ function i18n_field_field_formatter_view($entity_type, $entity, \
$field, $instanc  return $element;
 }

-
 /**
  * Implements hook_field_widget_form_alter().
  *
@@ -176,8 +175,8 @@ function i18n_field_field_formatter_view($entity_type, $entity, \
$field, $instanc  function i18n_field_field_widget_form_alter(&$element, \
&$form_state, $context) {  global $language;

-  // Skip the node type edit fields by checking for existing entity
-  if (empty($element['#entity'])) {
+  // Don't translate if the widget is being shown on the field edit form.
+  if ($form_state['build_info']['form_id'] == 'field_ui_field_edit_form') {
     return;
   }

@@ -189,8 +188,38 @@ function i18n_field_field_widget_form_alter(&$element, \
&$form_state, $context) {  $instance = $context['instance'];
   $langcode = $context['langcode'];

+  // Get the element to alter. Account for inconsistencies in how the element
+  // is built for different field types.
+  if (isset($element[0]) && count($element) == 1) {
+    // Single-value file fields and image fields.
+    $alter_element = &$element[0];
+  }
+  elseif (isset($element['value'])) {
+    // Number fields. Single-value text fields.
+    $alter_element = &$element['value'];
+  }
+  elseif ($field['type'] == 'entityreference' && isset($element['target_id'])) {
+    // Entityreference fields using the entityreference_autocomplete widget.
+    $alter_element = &$element['target_id'];
+  }
+  else {
+    // All other fields.
+    $alter_element = &$element;
+  }
+
+  // If a subelement has the same title as the parent, translate it instead.
+  // Allows fields such as email and commerce_price to be translated.
+  foreach (element_get_visible_children($element) as $key) {
+    $single_value = ($field['cardinality'] == 1);
+    $has_title = (isset($element['#title']) && isset($element[$key]['#title']));
+    if ($single_value && $has_title && $element[$key]['#title'] == \
$element['#title']) { +      $alter_element = &$element[$key];
+      break;
+    }
+  }
+
   // The field language may affect some variables (default) but not others \
                (description will be in current page language)
-  $i18n_langcode = empty($element['#language']) || $element['#language'] == \
LANGUAGE_NONE ? $language->language : $element['#language']; +  $i18n_langcode = \
empty($alter_element['#language']) || $alter_element['#language'] == LANGUAGE_NONE ? \
$language->language : $alter_element['#language'];

   // Translate instance to current page language and set to form_state
   // so it will be used for validation messages later.
@@ -200,37 +229,60 @@ function i18n_field_field_widget_form_alter(&$element, \
&$form_state, $context) {  }

   // Translate field title if set and it is the default one.
-  // When cardinality is 1, $element['value'] is used instead.
   if (!empty($instance_current['label']) && $instance_current['label'] != \
                $instance['label']) {
-    if (!empty($element['#title']) && $element['#title'] == $instance['label']) {
-      $element['#title'] = $instance_current['label'];
-    }
-    if (isset($element['value']) && !empty($element['value']['#title']) && \
                $element['value']['#title'] == $instance['label']) {
-      $element['value']['#title'] = $instance_current['label'];
+    if (!empty($alter_element['#title']) && $alter_element['#title'] == \
check_plain($instance['label'])) { +      $alter_element['#title'] = \
check_plain($instance_current['label']);  }
   }

   // Translate field description if set and it is the default one.
-  // When cardinality is 1, $element['value'] is used instead.
   if (!empty($instance_current['description']) && $instance_current['description'] \
                != $instance['description']) {
-    if (!empty($element['#description']) && $element['#description'] == \
                $instance['description']) {
-      $element['#description'] = $instance_current['description'];
-    }
-    if (isset($element['value']) && !empty($element['value']['#description']) && \
                $element['value']['#description'] == $instance['description']) {
-      $element['value']['#description'] = $instance_current['description'];
+    if (!empty($alter_element['#description'])) {
+      // Allow single-value file fields and image fields to have their
+      // descriptions translated. file_field_widget_form() passes the
+      // description through theme('file_upload_help'), so i18n_field
+      // must do the same.
+      $filefield = in_array($field['type'], array('file', 'image'));
+      $single_value = ($field['cardinality'] == 1);
+      $no_default = empty($alter_element['#default_value']['fid']);
+      if ($filefield && $single_value && $no_default) {
+        $help_variables = array(
+          'description' => field_filter_xss($instance['description']),
+          'upload_validators' => $alter_element['#upload_validators'],
+        );
+        $original_description = theme('file_upload_help', $help_variables);
+        if ($alter_element['#description'] == $original_description) {
+          $help_variables = array(
+            'description' => field_filter_xss($instance_current['description']),
+            'upload_validators' => $alter_element['#upload_validators'],
+          );
+          $alter_element['#description'] = theme('file_upload_help', \
$help_variables); +        }
+      }
+      elseif ($alter_element['#description'] == \
field_filter_xss($instance['description'])) { +        $alter_element['#description'] \
= field_filter_xss($instance_current['description']); +      }
     }
   }

-  // Translate list options
-  if (!empty($element['#options']) && ($translate = \
i18n_field_type_info($field['type'], 'translate_options')) && \
                !empty($field['settings']['allowed_values'])) {
-    $element['#options'] = $translate($field, $i18n_langcode);
-    if (isset($element['#properties']) && \
                !empty($element['#properties']['empty_option'])) {
-      $label = theme('options_none', array('instance' => $instance, 'option' => \
                $element['#properties']['empty_option']));
-      $element['#options'] = array('_none' => $label) + $element['#options'];
-      // For some elements, change title to new translated option
-      if (!empty($element['#title']) && $field['type'] == 'list_boolean' && \
                !empty($element['#on_value'])) {
-        $on_value = $element['#on_value'];
-        $element['#title'] = $element['#options'][$on_value];
+  // Translate list options.
+  $has_options = (!empty($alter_element['#options']) || $field['type'] == \
'list_boolean'); +  $has_allowed_values = \
!empty($field['settings']['allowed_values']); +  $translate = \
i18n_field_type_info($field['type'], 'translate_options'); +  if ($has_options && \
$has_allowed_values && $translate) { +    $alter_element['#options'] = \
$translate($field, $i18n_langcode); +    if (isset($alter_element['#properties']) && \
!empty($alter_element['#properties']['empty_option'])) { +      $label = \
theme('options_none', array('instance' => $instance, 'option' => \
$alter_element['#properties']['empty_option'])); +      $alter_element['#options'] = \
array('_none' => $label) + $alter_element['#options']; +    }
+    // Translate list_boolean fields using the checkboxes widget.
+    if (!empty($alter_element['#title']) && $field['type'] == 'list_boolean' && \
!empty($alter_element['#on_value'])) { +      $on_value = \
$alter_element['#on_value']; +      $alter_element['#options'];
+      $alter_element['#title'] = $alter_element['#options'][$on_value];
+      // For using label instead of "On value".
+      if ($instance['widget']['settings']['display_label']) {
+        $alter_element['#title'] = $instance_current['label'];
       }
     }
   }
@@ -242,11 +294,15 @@ function i18n_field_field_widget_form_alter(&$element, \
&$form_state, $context) {  $delta = $context['delta'];
   $items = $context['items'];

-  // Translate default value if exists and the current value is the default
-  if (isset($element['value']['#default_value']) && ($translate = \
                i18n_field_type_info($field['type'], 'translate_default')) &&
-      !empty($instance['default_value'][$delta]['value']) && \
                !empty($items[$delta]['value']) &&
-      $instance['default_value'][$delta]['value'] === $items[$delta]['value']) {
-    $element['value']['#default_value'] = $translate($instance, \
$items[$delta]['value'], $i18n_langcode); +  // Translate default value.
+  $has_default_value = (isset($alter_element['#default_value']) && \
!empty($instance['default_value'][$delta]['value'])); +  $storage_has_value = \
!empty($items[$delta]['value']); +  $translate = i18n_field_type_info($field['type'], \
'translate_default'); +  if ($has_default_value && $storage_has_value && $translate) \
{ +    // Compare the default value with the value currently in storage.
+    if ($instance['default_value'][$delta]['value'] === $items[$delta]['value']) {
+      $alter_element['#default_value'] = $translate($instance, \
$items[$delta]['value'], $i18n_langcode); +    }
   }
 }

@@ -344,7 +400,7 @@ function i18n_field_translate_allowed_values($field, $langcode = \
NULL) {  }

 /**
- * Translate field default
+ * Translate field default.
  */
 function i18n_field_translate_default($instance, $value, $langcode = NULL) {
   return i18n_string_translate(array('field', $instance['field_name'], \
$instance['bundle'], 'default_value'), $value, array('langcode' => $langcode)); @@ \
-360,7 +416,17 @@ function i18n_field_translate_property($instance, $property, \
$langcode = NULL) {  }

 /**
- * Get i18n information for fields
+ * Get i18n information for translating fields.
+ *
+ * @param $type
+ *   Optional field type.
+ * @param $property
+ *   Optional property to get from field type.
+ *
+ * @return
+ *   - The property for the field if $type and $property set.
+ *   - Array of properties for the field type if only $type is set.
+ *   - Array of translation information for all field types.
  */
 function i18n_field_type_info($type = NULL, $property = NULL) {
   $info = &drupal_static(__FUNCTION__);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_forum/i18n_forum.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_forum/i18n_forum.info index \
                d645355..a007cc8 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_forum/i18n_forum.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_forum/i18n_forum.info
@@ -7,9 +7,9 @@ package = Multilingual - Internationalization
 core = 7.x
 files[] = i18n_forum.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.inc index \
                570bf9e..a33d846 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.inc
@@ -69,6 +69,7 @@ class i18n_menu_link extends i18n_string_object_wrapper {
       return I18N_MODE_NONE;
     }
   }
+
   /**
    * Access to object translation. This should check object properties and \
                permissions
    */
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.info index \
                0c65b83..a436da1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.info
@@ -10,9 +10,9 @@ core = 7.x
 files[] = i18n_menu.inc
 files[] = i18n_menu.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.module index \
                df670e5..8f91fc5 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_menu/i18n_menu.module
@@ -343,6 +343,8 @@ function i18n_menu_variable_info_alter(&$variables, $options) {
   // Make menu variables translatable
   $variables['menu_main_links_source']['localize'] = TRUE;
   $variables['menu_secondary_links_source']['localize'] = TRUE;
+  $variables['menu_parent_[node_type]']['localize'] = TRUE;
+  $variables['menu_options_[node_type]']['localize'] = TRUE;
 }

 /**
@@ -468,7 +470,8 @@ function i18n_menu_navigation_links($menu_name, $level = 0) {
  * Get localized menu title
  */
 function _i18n_menu_link_title($link, $langcode = NULL) {
-  return i18n_string_translate(array('menu', 'item', $link['mlid'], 'title'), \
$link['link_title'], array('langcode' => $langcode, 'sanitize' => FALSE)); +  $key = \
i18n_object_info('menu_link', 'key'); +  return i18n_string_translate(array('menu', \
'item', $link[$key], 'title'), $link['link_title'], array('langcode' => $langcode, \
'sanitize' => FALSE));  }

 /**
@@ -500,7 +503,8 @@ function _i18n_menu_link_localize(&$link, $langcode = NULL) {
  */
 function _i18n_menu_link_description($link, $langcode = NULL) {
   if (!empty($link['options']['attributes']['title'])) {
-    return i18n_string_translate(array('menu', 'item', $link['mlid'], \
'description'), $link['options']['attributes']['title'], array('langcode' => \
$langcode)); +    $key = i18n_object_info('menu_link', 'key');
+    return i18n_string_translate(array('menu', 'item', $link[$key], 'description'), \
$link['options']['attributes']['title'], array('langcode' => $langcode));  }
   else {
     return NULL;
@@ -710,6 +714,26 @@ function i18n_menu_form_menu_edit_item_alter(&$form, \
&$form_state) {  }

 /**
+ * Implements hook_form_FORM_ID_alter().
+ * FORM_ID = menu-overview-form.
+ * Add a "translate" link in operations column for each menu item.
+ */
+function i18n_menu_form_menu_overview_form_alter(&$form, &$form_state) {
+  foreach (element_children($form) as $element) {
+    if (substr($element, 0, 5) == 'mlid:') {
+      $mlid = $form[$element]['#item']['mlid'];
+      if (i18n_get_object('menu', $mlid)->get_translate_access()) {
+        $form[$element]['operations']['translate'] = array(
+          '#type' => 'link',
+          '#title' => t('translate'),
+          '#href' => "admin/structure/menu/item/{$mlid}/translate",
+        );
+      }
+    }
+  }
+}
+
+/**
  * Normal path should be checked with menu item's language to avoid
  * troubles when a node and it's translation has the same url alias.
  */
@@ -727,6 +751,9 @@ function i18n_menu_item_get_language($item) {
   }
   else {
     $menu = menu_load($item['menu_name']);
+    if (!isset($menu['i18n_mode'])) {
+      return LANGUAGE_NONE;
+    }
     switch ($menu['i18n_mode']) {
       case I18N_MODE_LANGUAGE:
         return $menu['language'];
@@ -859,6 +886,14 @@ function i18n_menu_link_load($path, $langcode) {
 }

 /**
+ * Implements hook_query_TAG_alter() for features_menu_links.
+ * Add needed fields to properly serialize localization information.
+ */
+function i18n_menu_query_features_menu_link_alter($query) {
+  $query->fields('menu_links', array('language', 'customized'));
+}
+
+/**
  * Implements hook_init().
  */
 function i18n_menu_init() {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.info index \
                56670fa..fe6bc65 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.info
@@ -9,9 +9,9 @@ configure = admin/config/regional/i18n/node
 files[]=i18n_node.test
 files[]=i18n_node.variable.inc

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.pages.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.pages.inc \
                index 34cbe4b..a8adc7a 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.pages.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_node/i18n_node.pages.inc
@@ -213,6 +213,7 @@ function i18n_node_select_translation_submit($form, &$form_state) \
{  ))
       ->condition('nid', $add)
       ->execute();
+    entity_get_controller('node')->resetCache($add);
     if (count($new)) {
       drupal_set_message(format_plural(count($new), 'Added a node to the translation \
set.', 'Added @count nodes to the translation set.'));  }
@@ -224,6 +225,7 @@ function i18n_node_select_translation_submit($form, &$form_state) \
{  ))
       ->condition('nid', $remove)
       ->execute();
+    entity_get_controller('node')->resetCache($remove);
     drupal_set_message(format_plural(count($remove), 'Removed a node from the \
translation set.', 'Removed @count nodes from the translation set.'));  }
 }
@@ -246,7 +248,7 @@ function i18n_node_autocomplete($type, $language, $string = '') {
  */
 function i18n_node_nid2autocomplete($nid) {
   if ($node = node_load($nid)) {
-    return check_plain($node->title) . ' [nid:' . $nid . ']';
+    return $node->title . ' [nid:' . $nid . ']';
   }
   else {
     return t('Not found');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_path/i18n_path.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_path/i18n_path.info index \
                33c0635..d5d919c 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_path/i18n_path.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_path/i18n_path.info
@@ -6,9 +6,9 @@ core = 7.x

 files[] = i18n_path.inc
 files[] = i18n_path.test
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_redirect/i18n_redirect.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_redirect/i18n_redirect.info \
                index 8149e51..d9e241f 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_redirect/i18n_redirect.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_redirect/i18n_redirect.info
 @@ -4,9 +4,9 @@ dependencies[] = i18n
 package = Multilingual - Internationalization
 core = 7.x

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_select/i18n_select.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_select/i18n_select.info index \
                8d84ef4..f695ee1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_select/i18n_select.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_select/i18n_select.info
@@ -6,9 +6,9 @@ core = 7.x
 configure = admin/config/regional/i18n/select
 files[] = i18n_select.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.inc index \
                65f4c1b..3136aad 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.inc
@@ -1188,6 +1188,10 @@ class i18n_string_object_wrapper extends i18n_object_wrapper {
    * Translate access (localize strings)
    */
   protected function localize_access() {
+    // We could check also whether the object has strings to translate:
+    //   && $this->get_strings(array('empty' => TRUE))
+    // However it may be better to display the 'No available strings' message
+    // for the user to have a clue of what's going on. See \
                i18n_string_translate_page_object()
     return user_access('translate interface') && user_access('translate user-defined \
strings');  }

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.info index \
                7da968d..10a08e1 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.info
@@ -10,9 +10,9 @@ files[] = i18n_string.inc
 files[] = i18n_string.test
 configure = admin/config/regional/i18n/strings

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.pages.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.pages.inc \
                index 86e7432..28005d6 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.pages.inc
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_string/i18n_string.pages.inc
 @@ -12,7 +12,14 @@ include_once DRUPAL_ROOT . '/includes/locale.inc';
 include_once drupal_get_path('module', 'locale') . '/locale.admin.inc';

 /**
- * Generate translate page from object
+ * Generate translate page from object.
+ *
+ * @param string $object_type
+ *   Obejct type as declared in hook_i18n_object_info().
+ * @param object $object_value
+ *   Drupal object to translate.
+ * @param object $language
+ *   Optional language object.
  */
 function i18n_string_translate_page_object($object_type, $object_value, $language = \
NULL) {  // For backwards compatibility, ensure parameter is a language object
@@ -22,6 +29,13 @@ function i18n_string_translate_page_object($object_type, \
$object_value, $languag  $object = i18n_object($object_type, $object_value);
   $strings = $object->get_strings(array('empty' => TRUE));

+  // If no localizable strings, print message and fail gracefully.
+  // Possibly this object comes from some other contrib module.
+  // See http://drupal.org/node/1889878
+  if (!$strings) {
+    return t('This object has no strings available for translation.');
+  }
+
   if (empty($langcode)) {
     drupal_set_title(t('Translate !name', array('!name' => \
i18n_object_info($object_type, 'title'))));  return \
i18n_string_translate_page_overview($object, $strings); @@ -44,7 +58,6 @@ function \
                i18n_string_translate_page_overview($object, $strings) {
  * Provide a core translation module like overview page for this object.
  */
 function i18n_string_translate_page_overview_form($form, &$form_state, $object, \
                $strings) {
-  //include_once DRUPAL_ROOT . '/includes/language.inc';
   // Set the default item key, assume it's the first.
   $item_title = reset($strings);
   $header = array(
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.info index \
                3d66753..1ad3ca9 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.info
@@ -10,9 +10,9 @@ files[] = i18n_sync.install
 files[] = i18n_sync.module.inc
 files[] = i18n_sync.node.inc
 files[] = i18n_sync.test
-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc index \
                0480eb7..b18c6f0 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_sync/i18n_sync.node.inc
@@ -27,6 +27,7 @@
  *   Node operation (insert|update).
  */
 function i18n_sync_node_translation($node, $translations, $field_names, $op) {
+  $total = count($translations);
   $count = 0;
   // Disable language selection and synchronization temporarily, enable it again \
later  $i18n_select = i18n_select(FALSE);
@@ -34,10 +35,11 @@ function i18n_sync_node_translation($node, $translations, \
$field_names, $op) {  foreach ($translations as $translation) {
     // If translation is the same node, we cannot synchronize with itself
     if ($node->nid == $translation->nid) {
+      $total--;
       continue;
     }
     // Load full node, we need all data here.
-    $translation = node_load($translation->nid, NULL, TRUE);
+    $translation = node_load($translation->nid);
     $i18n_options = i18n_sync_node_options($node->type);
     // Invoke callback for each field, the default is just copy over
     foreach ($field_names as $field) {
@@ -53,6 +55,13 @@ function i18n_sync_node_translation($node, $translations, \
                $field_names, $op) {
     module_invoke_all('i18n_sync_translation', 'node', $translation, \
$translation->language, $node, $node->language, $field_names);  \
node_save($translation);  $count++;
+    // Flush each entity from the load cache after processing, to
+    // avoid exceeding PHP memory limits. It should be safe to keep
+    // at least one, however; so we retain the final translation in
+    // the cache after saving it.
+    if ($count < $total) {
+      entity_get_controller('node')->resetCache(array($translation->nid));
+    }
   }
   i18n_sync(TRUE);
   i18n_select($i18n_select);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.info \
                index 0d26403..3e7297b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.info
 @@ -11,9 +11,9 @@ files[] = i18n_taxonomy.pages.inc
 files[] = i18n_taxonomy.admin.inc
 files[] = i18n_taxonomy.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module \
                index d5c1793..0a051b2 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_taxonomy/i18n_taxonomy.module
 @@ -184,11 +184,11 @@ function i18n_taxonomy_field_formatter_info() {
 }

  /**
-- * Implements hook_field_formatter_prepare_view().
-- *
-- * This preloads all taxonomy terms for multiple loaded objects at once and
-- * unsets values for invalid terms that do not exist.
-- */
+ * Implements hook_field_formatter_prepare_view().
+ *
+ * This preloads all taxonomy terms for multiple loaded objects at once and
+ * unsets values for invalid terms that do not exist.
+ */
 function i18n_taxonomy_field_formatter_prepare_view($entity_type, $entities, $field, \
$instances, $langcode, &$items, $displays) {  return \
taxonomy_field_formatter_prepare_view($entity_type, $entities, $field, $instances, \
$langcode, $items, $displays);  }
@@ -318,7 +318,7 @@ function i18n_taxonomy_field_storage_details_alter(&$details, \
&$field) {

 /**
  * Implements hook_field_attach_prepare_translation_alter().
-
+ *
  * Prepare and synchronize translation for term reference fields.
  */
 function i18n_taxonomy_field_attach_prepare_translation_alter(&$entity, $context) {
@@ -468,7 +468,8 @@ function i18n_taxonomy_theme() {
  * Get localized term name unfiltered.
  */
 function i18n_taxonomy_term_name($term, $langcode = NULL) {
-  return i18n_taxonomy_vocabulary_mode($term->vid, I18N_MODE_LOCALIZE) ? \
i18n_string(array('taxonomy', 'term', $term->tid, 'name'), $term->name, \
array('langcode' => $langcode, 'sanitize' => FALSE)) : $term->name; +  $key = \
i18n_object_info('taxonomy_term', 'key'); +  return \
i18n_taxonomy_vocabulary_mode($term->vid, I18N_MODE_LOCALIZE) ? \
i18n_string(array('taxonomy', 'term', $term->{$key}, 'name'), $term->name, \
array('langcode' => $langcode, 'sanitize' => FALSE)) : $term->name;  }


@@ -476,7 +477,8 @@ function i18n_taxonomy_term_name($term, $langcode = NULL) {
  * Get localized term description unfiltered.
  */
 function i18n_taxonomy_term_description($term, $langcode = NULL) {
-  return i18n_taxonomy_vocabulary_mode($term->vid, I18N_MODE_LOCALIZE) ? \
i18n_string(array('taxonomy', 'term', $term->tid, 'description'), $term->description, \
array('langcode' => $langcode, 'sanitize' => FALSE)) : $term->description; +  $key = \
i18n_object_info('taxonomy_term', 'key'); +  return \
i18n_taxonomy_vocabulary_mode($term->vid, I18N_MODE_LOCALIZE) ? \
i18n_string(array('taxonomy', 'term', $term->{$key}, 'description'), \
$term->description, array('langcode' => $langcode, 'sanitize' => FALSE)) : \
$term->description;  }

 /**
@@ -1260,10 +1262,10 @@ function i18n_taxonomy_modules_enabled($modules) {
   $modules = drupal_map_assoc($modules);
   if (isset($modules['i18n_taxonomy'])) {
     foreach (field_info_fields() as $fieldname => $field) {
-        if ($field['type'] == 'taxonomy_term_reference') {
-          $field['settings']['options_list_callback'] = \
                'i18n_taxonomy_allowed_values';
-          field_update_field($field);
-        }
+      if ($field['type'] == 'taxonomy_term_reference') {
+        $field['settings']['options_list_callback'] = \
'i18n_taxonomy_allowed_values'; +        field_update_field($field);
       }
+    }
   }
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_translation/i18n_translation.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_translation/i18n_translation.info
 index b9b54e7..113bbe3 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_translation/i18n_translation.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_translation/i18n_translation.info
 @@ -6,9 +6,9 @@ core = 7.x

 files[] = i18n_translation.inc

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_user/i18n_user.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_user/i18n_user.info index \
                e438321..45ec115 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_user/i18n_user.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_user/i18n_user.info
@@ -4,9 +4,9 @@ core = 7.x
 package = Multilingual - Internationalization
 dependencies[] = i18n_variable

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_variable/i18n_variable.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_variable/i18n_variable.info \
                index 59a4674..4a57d30 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_variable/i18n_variable.info
                
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/i18n_variable/i18n_variable.info
 @@ -10,9 +10,9 @@ configure = admin/config/regional/i18n/variable
 files[] = i18n_variable.class.inc
 files[] = i18n_variable.test

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/tests/i18n_test.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/tests/i18n_test.info index \
                f764aa0..af9f978 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/i18n/tests/i18n_test.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/i18n/tests/i18n_test.info
@@ -7,9 +7,9 @@ package = Testing
 core = 6.x
 hidden = TRUE

-; Information added by drupal.org packaging script on 2013-01-13
-version = "7.x-1.8"
+; Information added by drupal.org packaging script on 2013-08-21
+version = "7.x-1.10"
 core = "7.x"
 project = "i18n"
-datestamp = "1358075001"
+datestamp = "1377069696"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/LICENSE.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/LICENSE.txt old mode 100644
new mode 100755
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.info index 6394ad4..e8699c8 \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.info
@@ -4,9 +4,9 @@ core = "7.x"
 package = "Media"
 configure = "admin/config/media/imce"

-; Information added by drupal.org packaging script on 2011-10-20
-version = "7.x-1.5"
+; Information added by Drupal.org packaging script on 2013-12-17
+version = "7.x-1.8"
 core = "7.x"
 project = "imce"
-datestamp = "1319104232"
+datestamp = "1387302359"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.install index \
                8d3e420..688c6b5 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.install
@@ -11,13 +11,13 @@
 function imce_install() {
   module_load_include('inc', 'imce', 'inc/imce.core.profiles');
   imce_install_profiles();
-  drupal_set_message(st('!module has been installed.', array('!module' => \
l(st('IMCE'), 'admin/config/media/imce'))));  }

 /**
  * Implements hook_uninstall().
  */
 function imce_uninstall() {
+  db_delete('file_usage')->condition('module', 'imce')->execute();
   variable_del('imce_profiles');
   variable_del('imce_roles_profiles');
   variable_del('imce_settings_textarea');
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.module index fe93a12..f3dc4bf \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/imce.module
@@ -15,6 +15,7 @@ function imce_menu() {
     'title' => 'File browser',
     'page callback' => 'imce',
     'access callback' => 'imce_access',
+    'access arguments' => array(FALSE, 1),
     'file' => 'inc/imce.page.inc',
     'type' => MENU_CALLBACK,
   );
@@ -118,7 +119,7 @@ function imce_textarea($element) {
   if (!isset($regexp)) {
     $regexp = FALSE;
     if (imce_access() && $regexp = str_replace(' ', '', \
                variable_get('imce_settings_textarea', ''))) {
-      $regexp = '@^' . str_replace(',', '|', implode('.*', array_map('preg_quote', \
explode('*', $regexp)))) . '$@'; +      $regexp = '@^(' . str_replace(',', '|', \
implode('.*', array_map('preg_quote', explode('*', $regexp)))) . ')$@';  }
   }
   if ($regexp && preg_match($regexp, $element['#id'])) {
@@ -132,58 +133,39 @@ function imce_textarea($element) {
  * Returns the configuration profile assigned to a user for a specific file scheme.
  */
 function imce_user_profile($user, $scheme = NULL) {
-  $profiles = variable_get('imce_profiles', array());
-  $swrappers = file_get_stream_wrappers();
-  $default_scheme = variable_get('file_default_scheme', 'public');
+  static $ups = array();

-  //handle user#1 separately
-  if ($user->uid == 1) {
-    $scheme = empty($scheme) ? $default_scheme : $scheme;
-    if (isset($profiles[1]) && isset($swrappers[$scheme])) {
-      return $profiles[1] + array('scheme' => $scheme);
-    }
-    return FALSE;
+  // Set scheme
+  if (empty($scheme)) {
+    $scheme = variable_get('file_default_scheme', 'public');
   }

-  //handle regular users
-  $roles_profiles = variable_get('imce_roles_profiles', array());
-  //store assigned configuration
-  $conf = array();
-  foreach ($roles_profiles as $rid => $role) {
-    if (isset($user->roles[$rid])) {
-      $conf = $role;
-      break;
-    }
+  // Return from cache.
+  if (isset($ups[$scheme][$user->uid])) {
+    return $ups[$scheme][$user->uid];
   }
+  $ups[$scheme][$user->uid] = FALSE;

-  //no scheme-profile assignment
-  if (empty($conf)) {
+  // Check scheme
+  $swrappers = file_get_stream_wrappers();
+  if (!isset($swrappers[$scheme])) {
     return FALSE;
   }

-  //return the profile for the specified scheme
-  if (!empty($scheme)) {
-    $key = $scheme . '_pid';
-    if (isset($conf[$key]) && isset($profiles[$conf[$key]]) && \
                isset($swrappers[$scheme])) {
-      return $profiles[$conf[$key]] + array('scheme' => $scheme);
-    }
-    return FALSE;
-  }
+  $profiles = variable_get('imce_profiles', array());
+  $scinfo = array('scheme' => $scheme);

-  //no scheme specified. check the default
-  $scheme = $default_scheme;
-  $key = $scheme . '_pid';
-  if (isset($conf[$key]) && isset($profiles[$conf[$key]]) && \
                isset($swrappers[$scheme])) {
-    return $profiles[$conf[$key]] + array('scheme' => $scheme);
+  // Handle user#1 separately
+  if ($user->uid == 1) {
+    return $ups[$scheme][$user->uid] = isset($profiles[1]) ? $profiles[1] + $scinfo \
: FALSE;  }

-  //check if any of the schemes has a profile assigned.
-  foreach ($conf as $key => $pid) {
-    if (substr($key, -4) == '_pid' && isset($profiles[$pid])) {
-      $scheme = substr($key, 0, -4);
-      if (isset($swrappers[$scheme])) {
-        return $profiles[$pid] + array('scheme' => $scheme);
-      }
+  // Handle regular users.
+  $roles_profiles = variable_get('imce_roles_profiles', array());
+  $sckey = $scheme . '_pid';
+  foreach ($roles_profiles as $rid => $conf) {
+    if (isset($user->roles[$rid]) && isset($conf[$sckey]) && \
isset($profiles[$conf[$sckey]])) { +      return $ups[$scheme][$user->uid] = \
$profiles[$conf[$sckey]] + $scinfo;  }
   }

@@ -194,28 +176,11 @@ function imce_user_profile($user, $scheme = NULL) {
  * Checks if the user is assigned an imce profile.
  * A more detailed assignment check is performed before imce loads.
  */
-function imce_access($user = FALSE) {
+function imce_access($user = FALSE, $scheme = NULL) {
   if ($user === FALSE) {
     global $user;
   }
-
-  if ($user->uid == 1) {
-    return TRUE;
-  }
-
-  $roles_profiles = variable_get('imce_roles_profiles', array());
-  foreach ($roles_profiles as $rid => $role) {
-    if (isset($user->roles[$rid])) {
-      foreach ($role as $key => $pid) {
-        if (substr($key, -4) == '_pid' && $pid) {
-          return TRUE;
-        }
-      }
-      break;
-    }
-  }
-
-  return FALSE;
+  return imce_user_profile($user, $scheme) ? TRUE : FALSE;
 }

 /**
@@ -225,7 +190,6 @@ function imce_user_page_access($account, $user = FALSE) {
   if ($user === FALSE) {
     global $user;
   }
-
   return ($user->uid == 1 || $account->uid == $user->uid) && ($profile = \
imce_user_profile($account)) && $profile['usertab'];  }

@@ -233,5 +197,5 @@ function imce_user_page_access($account, $user = FALSE) {
  * Check if the directory name is regular.
  */
 function imce_reg_dir($dirname) {
-  return $dirname == '.' || (is_string($dirname) && $dirname != '' && \
!preg_match('@(^\s)|(^/)|(^\./)|(\s$)|(/$)|(/\.$)|(\.\.)|(//)|(\\\\)|(/\./)@', \
$dirname)); +  return $dirname == '.' || is_int($dirname) || (is_string($dirname) && \
$dirname != '' && !preg_match('@(^\s)|(^/)|(^\./)|(\s$)|(/$)|(/\.$)|(\.\.)|(//)|(\\\\)|(/\./)@', \
$dirname));  }
\ No newline at end of file
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.admin.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.admin.inc index \
                4ff3077..d88cd28 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.admin.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.admin.inc
@@ -16,7 +16,8 @@ function imce_admin() {
   $rows = array();

   foreach ($profiles as $pid => $profile) {
-    $rows[] = array($profile['name'],
+    $rows[] = array(
+      check_plain($profile['name']),
       l(t('Edit'), 'admin/config/media/imce/profile/edit/' . $pid),
       $pid == 1 ? '' : l(t('Delete'), 'admin/config/media/imce/profile/delete/' . \
$pid),  );
@@ -116,7 +117,7 @@ function imce_admin_theme($variables) {
   $swrappers = file_get_stream_wrappers(STREAM_WRAPPERS_VISIBLE);
   foreach ($swrappers as $scheme => $info) {
     $header[] = l($info['name'], 'imce/' . $scheme);
-    $rows[0][] = $profile1['name'];
+    $rows[0][] = check_plain($profile1['name']);
     $keys[] = $scheme . '_pid';
   }

@@ -249,7 +250,7 @@ function imce_profile_form($form, &$form_state, $pid = 0) {
   );
   $form['dimensions'] = array(
     '#type' => 'textfield',
-    '#title' => t('Maximum image resolution'),
+    '#title' => t('Maximum image dimensions'),
     '#default_value' => $profile['dimensions'],
     '#description' => t('The maximum allowed image size (e.g. 640x480). Set to 0 for \
no restriction. If an <a href="!image-toolkit-link">image toolkit</a> is installed, \
files exceeding this value will be scaled down to fit.', array('!image-toolkit-link' \
=> url('admin/config/media/image-toolkit'))),  '#field_suffix' => '<kbd>' . \
t('WIDTHxHEIGHT') . '</kbd>', @@ -482,7 +483,7 @@ function \
                imce_thumbnails_theme($variables) {
  */
 function imce_role_form($role, $weight = TRUE, $core = TRUE) {
   $form['name'] = array(
-    '#markup' => $role['name'],
+    '#markup' => check_plain($role['name']),
   );
   if ($weight) {
     $form['weight'] = $core ? array(
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.page.inc \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.page.inc index \
                27b27ad..bcb00b2 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.page.inc
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/inc/imce.page.inc
@@ -11,6 +11,7 @@
 function imce($scheme = NULL) {
   module_invoke('admin_menu', 'suppress');//suppress admin_menu
   $jsop = isset($_GET['jsop']) ? $_GET['jsop'] : NULL;
+  drupal_add_http_header('Content-Type', 'text/html; charset=utf-8');
   print imce_page($GLOBALS['user'], $scheme, $jsop);
   exit();
 }
@@ -258,7 +259,7 @@ function imce_fileop_form_validate($form, &$form_state) {
     return form_error($form['filenames'], t('Please select a file.'));
   }

-  //filenames come seperated by colon
+  //filenames come separated by colon
   $filenames = explode(':', $form_state['values']['filenames']);
   $cnt = count($filenames);
   //check the number of files.
@@ -359,7 +360,7 @@ function imce_resize_submit($form, &$form_state) {
   //check dimensions
   $width = (int) $form_state['values']['width'];
   $height = (int) $form_state['values']['height'];
-  list($maxw, $maxh) = explode('x', $imce['dimensions']);
+  list($maxw, $maxh) = $imce['dimensions'] ? explode('x', $imce['dimensions']) : \
array(0, 0);  if ($width < 1 || $height < 1 || ($maxw && ($width > $maxw || $height > \
$maxh))) {  drupal_set_message(t('Please specify dimensions within the allowed range \
that is from 1x1 to @dimensions.', array('@dimensions' => $imce['dimensions'] ? \
$imce['dimensions'] : t('unlimited'))), 'error');  return;
@@ -424,10 +425,6 @@ function imce_delete_filepath($uri) {
     if (!file_delete($file, TRUE)) {
       return FALSE;
     }
-    // Remove imce usage
-    if ($is_imce) {
-      file_usage_delete($file, 'imce');
-    }
   }
   // Not in db. Probably loaded via ftp.
   elseif (!file_unmanaged_delete($uri)) {
@@ -676,13 +673,25 @@ function imce_validate_quotas($file, &$imce, $add = 0) {
 }

 /**
- * Check if the file is an image and return info.
+ * Checks if the file is an image and returns info.
+ * There are two switchable versions that use image_get_info() and getimagesize()
  */
-function imce_image_info($file) {
-  if (is_file($file) && ($dot = strrpos($file, '.')) && \
in_array(strtolower(substr($file, $dot+1)), array('jpg', 'jpeg', 'gif', 'png')) && \
($info = @getimagesize($file)) && in_array($info[2], array(IMAGETYPE_JPEG, \
                IMAGETYPE_GIF, IMAGETYPE_PNG)) ) {
-    return array('width' => $info[0], 'height' => $info[1], 'type' => $info[2], \
'mime' => $info['mime']); +if (variable_get('imce_image_get_info', 0)) {
+  function imce_image_info($file) {
+    $mimes = array('image/jpeg' => IMAGETYPE_JPEG, 'image/gif'  => IMAGETYPE_GIF, \
'image/png'  => IMAGETYPE_PNG); +    if (is_file($file) && ($dot = strrpos($file, \
'.')) && in_array(strtolower(substr($file, $dot+1)), array('jpg', 'jpeg', 'gif', \
'png')) && ($info = @image_get_info($file)) && isset($mimes[$info['mime_type']]) ) { \
+      return array('width' => $info['width'], 'height' => $info['height'], 'type' => \
$mimes[$info['mime_type']], 'mime' => $info['mime_type']); +    }
+    return FALSE;
+  }
+}
+else {
+  function imce_image_info($file) {
+    if (is_file($file) && ($dot = strrpos($file, '.')) && \
in_array(strtolower(substr($file, $dot+1)), array('jpg', 'jpeg', 'gif', 'png')) && \
($info = @getimagesize($file)) && in_array($info[2], array(IMAGETYPE_JPEG, \
IMAGETYPE_GIF, IMAGETYPE_PNG)) ) { +      return array('width' => $info[0], 'height' \
=> $info[1], 'type' => $info[2], 'mime' => $info['mime']); +    }
+    return FALSE;
   }
-  return FALSE;
 }

 /**
@@ -838,6 +847,7 @@ function imce_working_directory(&$imce) {

   //or the whole list.
   foreach ($imce['directories'] as $dirname => $info) {
+    $dirname = (string) $dirname;
     if (imce_check_directory($dirname, $imce)) {
       if ($sess) {
         $_SESSION['imce_directory'] = rawurlencode($dirname);
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce.js index 2a2f9b4..2e97b4a \
                100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce.js
@@ -1,4 +1,3 @@
-
 (function($) {
 //Global container.
 window.imce = {tree: {}, findex: [], fids: {}, selected: {}, selcount: 0, ops: {}, \
cache: {}, urlId: {}, @@ -8,6 +7,7 @@ hooks: {load: [], list: [], navigate: [], \
cache: []},  //initiate imce.
 initiate: function() {
   imce.conf = Drupal.settings.imce || {};
+  imce.ie = (navigator.userAgent.match(/msie (\d+)/i) || ['', 0])[1] * 1;
   if (imce.conf.error != false) return;
   imce.FLW = imce.el('file-list-wrapper'), imce.SBW = imce.el('sub-browse-wrapper');
   imce.NW = imce.el('navigation-wrapper'), imce.BW = imce.el('browse-wrapper');
@@ -79,7 +79,7 @@ dirCollapsible: function (branch) {
     if (branch.ul) {
       $(branch.ul).toggle();
       $(branch.li).toggleClass('expanded');
-      $.browser.msie && $('#navigation-header').css('top', imce.NW.scrollTop);
+      imce.ie && $('#navigation-header').css('top', imce.NW.scrollTop);
     }
     else if (branch.clkbl){
       $(branch.a).click();
@@ -424,7 +424,7 @@ navCache: function (dir, newdir) {

 //validate upload form
 uploadValidate: function (data, form, options) {
-  var path = data[0].value;
+  var path = $('#edit-imce').val();
   if (!path) return false;
   if (imce.conf.extensions != '*') {
     var ext = path.substr(path.lastIndexOf('.') + 1);
@@ -432,7 +432,6 @@ uploadValidate: function (data, form, options) {
       return imce.setMessage(Drupal.t('Only files with the following extensions are \
allowed: %files-allowed.', {'%files-allowed': imce.conf.extensions}), 'error');  }
   }
-  var sep = path.indexOf('/') == -1 ? '\\' : '/';
   options.url = imce.ajaxURL('upload');//make url contain current dir.
   imce.fopLoading('upload', true);
   return true;
@@ -487,12 +486,12 @@ commonSubmit: function(fop) {

 //settings for default file operations
 fopSettings: function (fop) {
-  return {url: imce.ajaxURL(fop), type: 'POST', dataType: 'json', success: \
imce.processResponse, complete: function (response) {imce.fopLoading(fop, false);}, \
data: imce.vars.opform +'&filenames='+ imce.serialNames() +'&jsop='+ fop + \
(imce.ops[fop].div ? '&'+ $('input, select, textarea', imce.ops[fop].div).serialize() \
: '')}; +  return {url: imce.ajaxURL(fop), type: 'POST', dataType: 'json', success: \
imce.processResponse, complete: function (response) {imce.fopLoading(fop, false);}, \
data: imce.vars.opform +'&filenames='+ escape(imce.serialNames()) +'&jsop='+ fop + \
(imce.ops[fop].div ? '&'+ $('input, select, textarea', imce.ops[fop].div).serialize() \
: '')};  },

 //toggle loading state
 fopLoading: function(fop, state) {
-  var el = imce.el('edit-'+ fop), func = state ? 'addClass' : 'removeClass'
+  var el = imce.el('edit-'+ fop), func = state ? 'addClass' : 'removeClass';
   if (el) {
     $(el)[func]('loading').attr('disabled', state);
   }
@@ -789,7 +788,7 @@ updateUI: function() {
     imce.opAdd({name: 'help', title: $('#help-box-title').remove().text(), content: \
$('#help-box').show()});  });
   //add ie classes
-  $.browser.msie && $('html').addClass('ie') && parseFloat($.browser.version) < 8 && \
$('html').addClass('ie-7'); +  imce.ie && $('html').addClass('ie') && imce.ie < 8 && \
$('html').addClass('ie-7');  // enable box view for file list
   imce.vars.boxW && imce.boxView();
   //scrolling file list
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce_extras.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce_extras.js index \
                349de2d..f5cff02 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce_extras.js
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/js/imce_extras.js
@@ -117,15 +117,10 @@ imce.firstSort = function() {
 //sort file list according to column index.
 imce.columnSort = function(cid, dsc) {
   if (imce.findex.length < 2) return;
-  if (cid == imce.vars.cid && dsc != imce.vars.dsc) {
-    imce.findex.reverse();
-  }
-  else {
-    var func = 'sort'+ (cid == 0 ? 'Str' : 'Num') + (dsc ? 'Dsc' : 'Asc');
-    var prop = cid == 2 || cid == 3 ? 'innerHTML' : 'id';
-    //sort rows
-    imce.findex.sort(cid ? function(r1, r2) {return imce[func](r1.cells[cid][prop], \
                r2.cells[cid][prop])} : function(r1, r2) {return imce[func](r1.id, \
                r2.id)});
-  }
+  var func = 'sort'+ (cid == 0 ? 'Str' : 'Num') + (dsc ? 'Dsc' : 'Asc');
+  var prop = cid == 2 || cid == 3 ? 'innerHTML' : 'id';
+  //sort rows
+  imce.findex.sort(cid ? function(r1, r2) {return imce[func](r1.cells[cid][prop], \
r2.cells[cid][prop])} : function(r1, r2) {return imce[func](r1.id, r2.id)});  \
//insert sorted rows  for (var row, i=0; row = imce.findex[i]; i++) {
     imce.tbody.appendChild(row);
@@ -197,7 +192,7 @@ imce.recallDimensions = function() {
 //set row heights with respect to window height
 imce.recallHeights = function(bwFixedHeight) {
   //window & body dimensions
-  var winHeight = $.browser.opera ? window.innerHeight : $(window).height();
+  var winHeight = window.opera ? window.innerHeight : $(window).height();
   var bodyHeight = $(document.body).outerHeight(true);
   var diff = winHeight - bodyHeight;
   var bwHeight = $(imce.BW).height(), pwHeight = $(imce.PW).height();
@@ -264,12 +259,12 @@ imce.imagestyleURL = function (url, stylename) {
 // replace table view with box view for file list
 imce.boxView = function () {
   var w = imce.vars.boxW, h = imce.vars.boxH;
-  if (!w || !h || $.browser.msie && parseFloat($.browser.version) < 8) return;
+  if (!w || !h || imce.ie && imce.ie < 8) return;
   var $body = $(document.body);
   var toggle = function() {
     $body.toggleClass('box-view');
     // refresh dom. required by all except FF.
-    !$.browser.mozilla && $('#file-list').appendTo(imce.FW).appendTo(imce.FLW);
+    $('#file-list').appendTo(imce.FW).appendTo(imce.FLW);
   };
   $body.append('<style type="text/css">.box-view #file-list td.name {width: ' + w + \
'px;height: ' + h + 'px;} .box-view #file-list td.name span {width: ' + w + \
'px;word-wrap: normal;text-overflow: ellipsis;}</style>');  \
                imce.hooks.load.push(function() {
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/imce/tpl/imce-page.tpl.php \
b/kolab.org/www/drupal-7.18/sites/all/modules/imce/tpl/imce-page.tpl.php index \
                197858a..cfe2185 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/imce/tpl/imce-page.tpl.php
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/imce/tpl/imce-page.tpl.php
@@ -4,6 +4,7 @@

 <head>
   <title><?php print t('File Browser'); ?></title>
+  <meta name="robots" content="noindex,nofollow" />
   <?php if (isset($_GET['app'])): drupal_add_js(drupal_get_path('module', 'imce') \
.'/js/imce_set_app.js'); endif;?>  <?php print drupal_get_html_head(); ?>
   <?php print drupal_get_css(); ?>
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/CHANGELOG.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/CHANGELOG.txt deleted \
file mode 100644 index 5bdf490..0000000
--- a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/CHANGELOG.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-Note: This file is out of date.
-
-jQuery Update 7.x-1.0, 2010-02-11
----------------------------------
-#1046720 by Rob Loach: Updated to jQuery 1.5 and jQuery UI 1.8.9
-#701496 by Rob Loach: Moved to hook_library_alter()
-#771062 by quiptime: Fixed module administration path
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/LICENSE.txt \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/LICENSE.txt index \
                2c095c8..d159169 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/LICENSE.txt
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/LICENSE.txt
@@ -1,274 +1,339 @@
-GNU GENERAL PUBLIC LICENSE
-
-              Version 2, June 1991
-
-Copyright (C) 1989, 1991 Free Software Foundation, Inc. 675 Mass Ave,
-Cambridge, MA 02139, USA. Everyone is permitted to copy and distribute
-verbatim copies of this license document, but changing it is not allowed.
-
-                  Preamble
-
-The licenses for most software are designed to take away your freedom to
-share and change it. By contrast, the GNU General Public License is
-intended to guarantee your freedom to share and change free software--to
-make sure the software is free for all its users. This General Public License
-applies to most of the Free Software Foundation's software and to any other
-program whose authors commit to using it. (Some other Free Software
-Foundation software is covered by the GNU Library General Public License
-instead.) You can apply it to your programs, too.
-
-When we speak of free software, we are referring to freedom, not price. Our
-General Public Licenses are designed to make sure that you have the
-freedom to distribute copies of free software (and charge for this service if
-you wish), that you receive source code or can get it if you want it, that you
-can change the software or use pieces of it in new free programs; and that
-you know you can do these things.
-
-To protect your rights, we need to make restrictions that forbid anyone to
-deny you these rights or to ask you to surrender the rights. These restrictions
-translate to certain responsibilities for you if you distribute copies of the
-software, or if you modify it.
-
-For example, if you distribute copies of such a program, whether gratis or for
-a fee, you must give the recipients all the rights that you have. You must make
-sure that they, too, receive or can get the source code. And you must show
-them these terms so they know their rights.
-
-We protect your rights with two steps: (1) copyright the software, and (2)
-offer you this license which gives you legal permission to copy, distribute
-and/or modify the software.
-
-Also, for each author's protection and ours, we want to make certain that
-everyone understands that there is no warranty for this free software. If the
-software is modified by someone else and passed on, we want its recipients
-to know that what they have is not the original, so that any problems
-introduced by others will not reflect on the original authors' reputations.
-
-Finally, any free program is threatened constantly by software patents. We
-wish to avoid the danger that redistributors of a free program will individually
-obtain patent licenses, in effect making the program proprietary. To prevent
-this, we have made it clear that any patent must be licensed for everyone's
-free use or not licensed at all.
-
-The precise terms and conditions for copying, distribution and modification
-follow.
-
-           GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND
-               MODIFICATION
-
-0. This License applies to any program or other work which contains a notice
-placed by the copyright holder saying it may be distributed under the terms
-of this General Public License. The "Program", below, refers to any such
-program or work, and a "work based on the Program" means either the
-Program or any derivative work under copyright law: that is to say, a work
-containing the Program or a portion of it, either verbatim or with
-modifications and/or translated into another language. (Hereinafter, translation
-is included without limitation in the term "modification".) Each licensee is
-addressed as "you".
-
-Activities other than copying, distribution and modification are not covered
-by this License; they are outside its scope. The act of running the Program is
-not restricted, and the output from the Program is covered only if its contents
-constitute a work based on the Program (independent of having been made
-by running the Program). Whether that is true depends on what the Program
-does.
-
-1. You may copy and distribute verbatim copies of the Program's source
-code as you receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice and
-disclaimer of warranty; keep intact all the notices that refer to this License
-and to the absence of any warranty; and give any other recipients of the
-Program a copy of this License along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and you
-may at your option offer warranty protection in exchange for a fee.
-
-2. You may modify your copy or copies of the Program or any portion of it,
-thus forming a work based on the Program, and copy and distribute such
-modifications or work under the terms of Section 1 above, provided that you
-also meet all of these conditions:
-
-a) You must cause the modified files to carry prominent notices stating that
-you changed the files and the date of any change.
-
-b) You must cause any work that you distribute or publish, that in whole or in
-part contains or is derived from the Program or any part thereof, to be
-licensed as a whole at no charge to all third parties under the terms of this
-License.
-
-c) If the modified program normally reads commands interactively when run,
-you must cause it, when started running for such interactive use in the most
-ordinary way, to print or display an announcement including an appropriate
-copyright notice and a notice that there is no warranty (or else, saying that
-you provide a warranty) and that users may redistribute the program under
-these conditions, and telling the user how to view a copy of this License.
-(Exception: if the Program itself is interactive but does not normally print such
-an announcement, your work based on the Program is not required to print
-an announcement.)
-
-These requirements apply to the modified work as a whole. If identifiable
-sections of that work are not derived from the Program, and can be
-reasonably considered independent and separate works in themselves, then
-this License, and its terms, do not apply to those sections when you distribute
-them as separate works. But when you distribute the same sections as part
-of a whole which is a work based on the Program, the distribution of the
-whole must be on the terms of this License, whose permissions for other
-licensees extend to the entire whole, and thus to each and every part
-regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest your rights to
-work written entirely by you; rather, the intent is to exercise the right to
-control the distribution of derivative or collective works based on the
-Program.
+                    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.)
+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
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
 refrain entirely from distribution of the Program.

-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply and
-the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any patents or
-other property right claims or to contest validity of any such claims; this
-section has the sole purpose of protecting the integrity of the free software
-distribution system, which is implemented by public license practices. Many
-people have made generous contributions to the wide range of software
-distributed through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing to
-distribute software through any other system and a licensee cannot impose
-that choice.
-
-This section is intended to make thoroughly clear what is believed to be a
-consequence of the rest of this License.
-
-8. If the distribution and/or use of the Program is restricted in certain
-countries either by patents or by copyrighted interfaces, the original copyright
-holder who places the Program under this License may add an explicit
-geographical distribution limitation excluding those countries, so that
-distribution is permitted only in or among countries not thus excluded. In such
-case, this License incorporates the limitation as if written in the body of this
-License.
-
-9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will be
-similar in spirit to the present version, but may differ in detail to address new
-problems or concerns.
-
-Each version is given a distinguishing version number. If the Program specifies
-a version number of this License which applies to it and "any later version",
-you have the option of following the terms and conditions either of that
-version or of any later version published by the Free Software Foundation. If
-the Program does not specify a version number of this License, you may
-choose any version ever published by the Free Software Foundation.
-
-10. If you wish to incorporate parts of the Program into other free programs
-whose distribution conditions are different, write to the author to ask for
-permission. For software which is copyrighted by the Free Software
-Foundation, write to the Free Software Foundation; we sometimes make
-exceptions for this. Our decision will be guided by the two goals of
-preserving the free status of all derivatives of our free software and of
-promoting the sharing and reuse of software generally.
-
-               NO WARRANTY
-
-11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE,
-THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT
-PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE
-STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT
-WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
-INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
-PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL
-NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR
-AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR
-ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE
-LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL,
-SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES
-ARISING OUT OF THE USE OR INABILITY TO USE THE
-PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA
-OR DATA BEING RENDERED INACCURATE OR LOSSES
-SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE
-PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN
-IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF
-THE POSSIBILITY OF SUCH DAMAGES.
-
-          END OF TERMS AND CONDITIONS
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                            NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                     END OF TERMS AND CONDITIONS
+
+            How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) <year>  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License along
+    with this program; if not, write to the Free Software Foundation, Inc.,
+    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) year name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Lesser General
+Public License instead of this License.
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.info \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.info index \
                2028a9b..c5e8b7b 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.info
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.info
@@ -1,15 +1,15 @@
 name = jQuery Update
-description = Updates jQuery to jQuery 1.5.2 and jQuery UI 1.8.11.
+description = Update jQuery and jQuery UI to a more recent version.
 package = User interface
 core = 7.x
 files[] = jquery_update.module
 files[] = jquery_update.install

-configure = admin/config/development/performance
+configure = admin/config/development/jquery_update

-; Information added by drupal.org packaging script on 2011-04-04
-version = "7.x-2.2"
+; Information added by drupal.org packaging script on 2013-02-09
+version = "7.x-2.3"
 core = "7.x"
 project = "jquery_update"
-datestamp = "1301920269"
+datestamp = "1360375905"

diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.install \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.install \
                index 8eee7bf..a4e9168 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.install
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.install
@@ -30,15 +30,18 @@ function jquery_update_requirements($phase) {
  */
 function jquery_update_uninstall() {
   variable_del('jquery_update_compression_type');
+  variable_del('jquery_update_jquery_version');
 }

 /**
- * The packed version of jQuery is no longer distributed. If that is the chosen
- * version update to minified.
+ * Update from Drupal 6.
  */
 function jquery_update_update_7000() {
   if (variable_get('jquery_update_compression_type', 'min') == 'pack') {
     variable_set('jquery_update_compression_type', 'min');
   }
   variable_del('jquery_update_replace');
+
+  // Restore the default version of jQuery.
+  variable_del('jquery_update_jquery_version');
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.module \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.module \
                index 89d706c..520e076 100644
--- a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.module
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/jquery_update.module
@@ -2,10 +2,23 @@

 /**
  * @file
- * Updates Drupal to use the latest versions of jQuery and jQuery UI.
+ * Updates Drupal to use the latest version of jQuery.
  */

 /**
+ * Implements hook_help().
+ */
+function jquery_update_help($path, $arg) {
+  switch ($path) {
+      // Help for another path in the block module
+    case 'admin/config/development/jquery_update':
+      return '<p>' . t('Configure how <a href="@jquery">jQuery</a> behaves on the \
site. Select which jQuery version, the compression level and whether or not to use a \
CDN.', array( +        '@jquery' => 'http://jquery.com',
+      )) . '</p>';
+  }
+}
+
+/**
  * Implements hook_library().
  */
 function jquery_update_library() {
@@ -48,9 +61,9 @@ function jquery_update_library() {
 }

 /**
- * Implements hook_library_alter().
+ * Implementation of hook_library_alter().
  */
-function jquery_update_library_alter(&$libraries, $module) {
+function jquery_update_library_alter(&$javascript, $module) {

   // We are updating just the system module. For all other cases we return.
   if ($module != 'system') {
@@ -63,28 +76,59 @@ function jquery_update_library_alter(&$libraries, $module) {
   $min = variable_get('jquery_update_compression_type', 'min') == 'none' ? '' : \
'.min';  $cdn = variable_get('jquery_update_jquery_cdn', 'none');

-  // Replace jQuery.
-  jquery_update_jquery_replace($libraries, $cdn, $path, $min);
-  $libraries['jquery']['version'] = '1.5.2';
+  // Replace jQuery with the latest version.
+  $version = variable_get('jquery_update_jquery_version', '1.5');
+  jquery_update_jquery_replace($javascript, $cdn, $path, $min, $version);

   // Replace jQuery UI with CDN or local files. If from a CDN include all of jQuery \
                UI.
-  jquery_update_jqueryui_replace($libraries, $cdn, $path, $min);
+  jquery_update_jqueryui_replace($javascript, $cdn, $path, $min);

   // Replace the jQuery Cookie plugin.
-  $libraries['jquery.cookie']['js']['misc/jquery.cookie.js']['data'] = $path . \
'/replace/ui/external/jquery.cookie.js'; +  \
$javascript['cookie']['js']['misc/jquery.cookie.js']['data'] = $path . \
'/replace/ui/external/jquery.cookie.js';  // Noting the version based on git commit \
                as no version number is available.
-  $libraries['jquery.cookie']['version'] = '67fb34f6a866c40d0570';
+  $javascript['cookie']['version'] = '67fb34f6a866c40d0570';

   // Replace jQuery Form plugin.
-  $libraries['jquery.form']['js']['misc/jquery.form.js']['data'] = $path . \
                '/replace/misc/jquery.form.js';
-  $libraries['jquery.form']['version'] = '2.67';
+  $javascript['jquery.form']['js']['misc/jquery.form.js']['data'] = $path . \
'/replace/misc/jquery.form' . $min . '.js'; +  $javascript['jquery.form']['version'] \
= '2.69'; +
+  // Replace files for jQuery 1.7 and up
+  if (version_compare($version, '1.7', '>=')) {
+    $javascript['drupal.states']['js']['misc/states.js']['data'] = $path . \
'/replace/misc/1.7/states.js'; +  }
+}
+
+/**
+ * Implements hook_menu().
+ */
+function jquery_update_menu() {
+  $items['admin/config/development/jquery_update'] = array(
+    'title' => 'jQuery update',
+    'description' => 'Configure settings related to the jQuery upgrade, the library \
path and compression.', +    'page callback' => 'drupal_get_form',
+    'page arguments' => array('jquery_update_settings_form'),
+    'access arguments' => array('administer site configuration'),
+  );
+
+  return $items;
 }

 /**
- * Implements hook_form_FORM_ID_alter().
+ * Implementation of hook_form_FORM_ID().
  */
-function jquery_update_form_system_performance_settings_alter(&$form, &$form_state, \
                $form_id) {
-  $form['bandwidth_optimization']['jquery_update_compression_type'] = array(
+function jquery_update_settings_form() {
+  $form['jquery_update_jquery_version'] = array(
+    '#type' => 'select',
+    '#title' => t('jQuery Version'),
+    '#options' => array(
+      '1.5' => '1.5',
+      '1.7' => '1.7',
+      '1.8' => '1.8',
+    ),
+    '#default_value' => variable_get('jquery_update_jquery_version', '1.5'),
+    '#description' => t('Select which jQuery version branch to use.'),
+  );
+  $form['jquery_update_compression_type'] = array(
     '#type' => 'radios',
     '#title' => t('jQuery compression level'),
     '#options' => array(
@@ -93,44 +137,71 @@ function \
jquery_update_form_system_performance_settings_alter(&$form, &$form_sta  ),
     '#default_value' => variable_get('jquery_update_compression_type', 'min'),
   );
-  $form['bandwidth_optimization']['jquery_update_jquery_cdn'] = array(
-    '#type' => 'radios',
+  $form['jquery_update_jquery_cdn'] = array(
+    '#type' => 'select',
     '#title' => t('jQuery and jQuery UI CDN'),
     '#options' => array(
       'none' => t('None'),
       'google' => t('Google'),
       'microsoft' => t('Microsoft'),
+      'jquery' => t('jQuery'),
     ),
     '#default_value' => variable_get('jquery_update_jquery_cdn', 'none'),
     '#description' => t('Use jQuery and jQuery UI from a CDN. If the CDN is not \
available the local version of jQuery and jQuery UI will be used.'),  );
+
+  return system_settings_form($form);
 }

 /**
  * Update jQuery to the CDN or local path.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The library definition array as seen in hook_library_alter().
  * @param string $cdn
  *   The name of the CDN option to use. Possible options are:
  *   - none
  *   - google
  *   - microsoft
+ * @param string $version
+ *   The version of jQuery to use.
  */
-function jquery_update_jquery_replace(&$libraries, $cdn, $path, $min) {
+function jquery_update_jquery_replace(&$javascript, $cdn, $path, $min, $version) {
+  // Make sure to use the latest version in given branch.
+  $trueversion = NULL;
+  switch ($version) {
+    case '1.5':
+      $trueversion = '1.5.2';
+      break;
+    case '1.7':
+      $trueversion = '1.7.1';
+      break;
+    case '1.8':
+      $trueversion = '1.8.2';
+      break;
+  }
+  $javascript['jquery']['version'] = $trueversion;
+
+  // Check for CDN support.
   switch($cdn) {
     case 'google':
-      $libraries['jquery']['js']['misc/jquery.js']['data'] = \
                'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery' . $min . \
                '.js';
-      $libraries['jquery']['js']['misc/jquery.js']['type'] = 'external';
-      jquery_update_jquery_backup($libraries, $path, $min);
+      $javascript['jquery']['js']['misc/jquery.js']['data'] = \
'https://ajax.googleapis.com/ajax/libs/jquery/'. $trueversion . '/jquery' . $min . \
'.js'; +      $javascript['jquery']['js']['misc/jquery.js']['type'] = 'external';
+      jquery_update_jquery_backup($javascript, $path, $min, $version);
       break;
     case 'microsoft':
-      $libraries['jquery']['js']['misc/jquery.js']['data'] = \
                'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.5.2' . $min . '.js';
-      $libraries['jquery']['js']['misc/jquery.js']['type'] = 'external';
-      jquery_update_jquery_backup($libraries, $path, $min);
+      $javascript['jquery']['js']['misc/jquery.js']['data'] = \
'http://ajax.aspnetcdn.com/ajax/jQuery/jquery-'. $trueversion . $min . '.js'; +      \
$javascript['jquery']['js']['misc/jquery.js']['type'] = 'external'; +      \
jquery_update_jquery_backup($javascript, $path, $min, $version); +      break;
+    case 'jquery':
+      $javascript['jquery']['js']['misc/jquery.js']['data'] = \
'http://code.jquery.com/jquery-'. $trueversion . $min . '.js'; +      \
$javascript['jquery']['js']['misc/jquery.js']['type'] = 'external'; +      \
jquery_update_jquery_backup($javascript, $path, $min, $version);  break;
     case 'none':
-      $libraries['jquery']['js']['misc/jquery.js']['data'] = $path . \
'/replace/jquery/jquery' . $min . '.js'; +    default:
+      $javascript['jquery']['js']['misc/jquery.js']['data'] = $path . \
'/replace/jquery/'. $version . '/jquery' . $min . '.js';  break;
   }
 }
@@ -138,16 +209,18 @@ function jquery_update_jquery_replace(&$libraries, $cdn, $path, \
$min) {  /**
  * Add the local fallback in case jQuery from the CDN is unavailable.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The $libraries array as seen in hook_library_alter()
  * @param string $path
  *   The path to the module where replacements can be found.
  * @param string $min
  *   The '.min' to include in the file name if we are requesting a minified version.
+ * @param string $version
+ *   The verison of jQuery to use.
  */
-function jquery_update_jquery_backup(&$libraries, $path, $min) {
-  $libraries['jquery']['js'][] = array(
-    'data' => 'window.jQuery || document.write("<script src=\'' . base_path() . \
$path . '/replace/jquery/jquery' . $min . '.js\'>\x3C/script>")', +function \
jquery_update_jquery_backup(&$javascript, $path, $min, $version) { +  \
$javascript['jquery']['js'][] = array( +    'data' => 'window.jQuery || \
document.write("<script src=\'' . base_path() . $path . '/replace/jquery/'. $version \
. '/jquery' . $min . '.js\'>\x3C/script>")',  'type' => 'inline',
     'group' => JS_LIBRARY,
     'weight' => -19.999999999,
@@ -157,7 +230,7 @@ function jquery_update_jquery_backup(&$libraries, $path, $min) {
 /**
  * Update jQuery UI to the CDN or local path.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The library definition array as seen in hook_library_alter().
  * @param string $cdn
  *   The name of the CDN option to use. Possible options are:
@@ -165,7 +238,7 @@ function jquery_update_jquery_backup(&$libraries, $path, $min) {
  *   - google
  *   - microsoft
  */
-function jquery_update_jqueryui_replace(&$libraries, $cdn, $path, $min) {
+function jquery_update_jqueryui_replace(&$javascript, $cdn, $path, $min) {
   // Replace all CSS files.
   $names = drupal_map_assoc(array(
     'ui.accordion', 'ui.autocomplete', 'ui.button', 'ui.datepicker',
@@ -175,10 +248,10 @@ function jquery_update_jqueryui_replace(&$libraries, $cdn, \
$path, $min) {  $names['ui'] = 'ui.core';
   $csspath = $path . '/replace/ui/themes/base/' . (($min == '.min') ? 'minified/' : \
'');  foreach ($names as $name => $file) {
-    $libraries[$name]['css']["misc/ui/jquery.$file.css"]['data'] = $csspath . \
'jquery.' . $file . $min . '.css'; +    \
$javascript[$name]['css']["misc/ui/jquery.$file.css"]['data'] = $csspath . 'jquery.' \
. $file . $min . '.css';  }
   // Make sure ui.theme is replaced as well.
-  $libraries['ui']['css']['misc/ui/jquery.ui.theme.css']['data'] = $csspath . \
'jquery.ui.theme' . $min . '.css'; +  \
$javascript['ui']['css']['misc/ui/jquery.ui.theme.css']['data'] = $csspath . \
'jquery.ui.theme' . $min . '.css';

   // Replace jQuery UI's JavaScript, beginning by defining the mapping.
   $names = drupal_map_assoc(array(
@@ -196,16 +269,16 @@ function jquery_update_jqueryui_replace(&$libraries, $cdn, \
$path, $min) {  switch($cdn) {
     case 'google':
       $cdn = 'https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.11/jquery-ui' . \
                $min . '.js';
-      jquery_update_jqueryui_cdn($cdn, $libraries, $path, $min, $names);
-      jquery_update_jqueryui_backup($libraries, $path, $min);
+      jquery_update_jqueryui_cdn($cdn, $javascript, $path, $min, $names);
+      jquery_update_jqueryui_backup($javascript, $path, $min);
       break;
     case 'microsoft':
       $cdn = 'http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.11/jquery-ui' . $min . \
                '.js';
-      jquery_update_jqueryui_cdn($cdn, $libraries, $path, $min, $names);
-      jquery_update_jqueryui_backup($libraries, $path, $min);
+      jquery_update_jqueryui_cdn($cdn, $javascript, $path, $min, $names);
+      jquery_update_jqueryui_backup($javascript, $path, $min);
       break;
     case 'none':
-      jquery_update_jqueryui_local($libraries, $path, $min, $names);
+      jquery_update_jqueryui_local($javascript, $path, $min, $names);
       break;
   }
 }
@@ -213,16 +286,16 @@ function jquery_update_jqueryui_replace(&$libraries, $cdn, \
$path, $min) {  /**
  * Add the local fallback in case jQuery UI from the CDN is unavailable.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The $libraries array as seen in hook_library_alter()
  * @param string $path
  *   The path to the module where replacements can be found.
  * @param string $min
  *   The '.min' to include in the file name if we are requesting a minified version.
  */
-function jquery_update_jqueryui_backup(&$libraries, $path, $min) {
+function jquery_update_jqueryui_backup(&$javascript, $path, $min) {
   $js_path = ($min == '.min') ? '/replace/ui/ui/minified/jquery-ui.min.js' : \
                '/replace/ui/ui/jquery-ui.js';
-  $libraries['ui']['js'][] = array(
+  $javascript['ui']['js'][] = array(
     'data' => 'window.jQuery.ui || document.write("<script src=\'' . base_path() . \
$path . $js_path . '\'>\x3C/script>")',  'type' => 'inline',
     'group' => JS_LIBRARY,
@@ -233,7 +306,7 @@ function jquery_update_jqueryui_backup(&$libraries, $path, $min) \
{  /**
  * Handle when jQuery UI is updated to the cdn version.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The $libraries array as seen in hook_library_alter()
  * @param string $path
  *   The path to the module where replacements can be found.
@@ -242,19 +315,19 @@ function jquery_update_jqueryui_backup(&$libraries, $path, \
                $min) {
  * @param array $names
  *   An array mapping jquery ui parts to their file names.
  */
-function jquery_update_jqueryui_cdn($cdn, &$libraries, $path, $min, $names) {
+function jquery_update_jqueryui_cdn($cdn, &$javascript, $path, $min, $names) {

   // Construct the jQuery UI path and replace the JavaScript.
   $jspath = $path . '/replace/ui/ui/' . ($min == '.min' ? 'minified/' : '');
   foreach ($names as $name => $file) {
     $corefile = 'misc/ui/jquery.' . $file . '.min.js';
     // Remove the core files.
-    unset($libraries[$name]['js'][$corefile]);
-    $libraries[$name]['version'] = '1.8.11';
+    unset($javascript[$name]['js'][$corefile]);
+    $javascript[$name]['version'] = '1.8.11';
   }

   // UI is used by all of UI. Add the js cdn here.
-  $libraries['ui']['js'][$cdn] = array(
+  $javascript['ui']['js'][$cdn] = array(
     'data' => $cdn,
     'type' => 'external',
     'group' => JS_LIBRARY,
@@ -265,7 +338,7 @@ function jquery_update_jqueryui_cdn($cdn, &$libraries, $path, \
$min, $names) {  /**
  * Handle when jQuery UI is updated to the local version.
  *
- * @param array $libraries
+ * @param array $javascript
  *   The $libraries array as seen in hook_library_alter()
  * @param string $path
  *   The path to the module where replacements can be found.
@@ -274,13 +347,13 @@ function jquery_update_jqueryui_cdn($cdn, &$libraries, $path, \
                $min, $names) {
  * @param array $names
  *   An array mapping jquery ui parts to their file names.
  */
-function jquery_update_jqueryui_local(&$libraries, $path, $min, $names) {
+function jquery_update_jqueryui_local(&$javascript, $path, $min, $names) {

   // Construct the jQuery UI path and replace the JavaScript.
   $jspath = $path . '/replace/ui/ui/' . ($min == '.min' ? 'minified/' : '');
   foreach ($names as $name => $file) {
     $corefile = 'misc/ui/jquery.' . $file . '.min.js';
-    $libraries[$name]['js'][$corefile]['data'] = $jspath . 'jquery.' . $file . $min \
                . '.js';
-    $libraries[$name]['version'] = '1.8.11';
+    $javascript[$name]['js'][$corefile]['data'] = $jspath . 'jquery.' . $file . $min \
. '.js'; +    $javascript[$name]['version'] = '1.8.11';
   }
 }
diff --git a/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.js \
b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.js
 new file mode 100644
index 0000000..78fcfa4
--- /dev/null
+++ b/kolab.org/www/drupal-7.18/sites/all/modules/jquery_update/replace/jquery/1.5/jquery.js
 @@ -0,0 +1,8316 @@
+/*!
+ * jQuery JavaScript Library v1.5.1
+ * http://jquery.com/
+ *
+ * Copyright 2011, John Resig
+ * Dual licensed under the MIT or GPL Version 2 licenses.
+ * http://jquery.org/license
+ *
+ * Includes Sizzle.js
+ * http://sizzlejs.com/
+ * Copyright 2011, The Dojo Foundation
+ * Released under the MIT, BSD, and GPL Licenses.
+ *
+ * Date: Wed Feb 23 13:55:29 2011 -0500
+ */
+(function( window, undefined ) {
+
+// Use the correct document accordingly with window argument (sandbox)
+var document = window.document;
+var jQuery = (function() {
+
+// Define a local copy of jQuery
+var jQuery = function( selector, context ) {
+		// The jQuery object is actually just the init constructor 'enhanced'
+		return new jQuery.fn.init( selector, context, rootjQuery );
+	},
+
+	// Map over jQuery in case of overwrite
+	_jQuery = window.jQuery,
+
+	// Map over the $ in case of overwrite
+	_$ = window.$,
+
+	// A central reference to the root jQuery(document)
+	rootjQuery,
+
+	// A simple way to check for HTML strings or ID strings
+	// (both of which we optimize for)
+	quickExpr = /^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,
+
+	// Check if a string has a non-whitespace character in it
+	rnotwhite = /\S/,
+
+	// Used for trimming whitespace
+	trimLeft = /^\s+/,
+	trimRight = /\s+$/,
+
+	// Check for digits
+	rdigit = /\d/,
+
+	// Match a standalone tag
+	rsingleTag = /^<(\w+)\s*\/?>(?:<\/\1>)?$/,
+
+	// JSON RegExp
+	rvalidchars = /^[\],:{}\s]*$/,
+	rvalidescape = /\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,
+	rvalidtokens = /"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
+	rvalidbraces = /(?:^|:|,)(?:\s*\[)+/g,
+
+	// Useragent RegExp
+	rwebkit = /(webkit)[ \/]([\w.]+)/,
+	ropera = /(opera)(?:.*version)?[ \/]([\w.]+)/,
+	rmsie = /(msie) ([\w.]+)/,
+	rmozilla = /(mozilla)(?:.*? rv:([\w.]+))?/,
+
+	// Keep a UserAgent string for use with jQuery.browser
+	userAgent = navigator.userAgent,
+
+	// For matching the engine and version of the browser
+	browserMatch,
+
+	// Has the ready events already been bound?
+	readyBound = false,
+
+	// The deferred used on DOM ready
+	readyList,
+
+	// Promise methods
+	promiseMethods = "then done fail isResolved isRejected promise".split( " " ),
+
+	// The ready event handler
+	DOMContentLoaded,
+
+	// Save a reference to some core methods
+	toString = Object.prototype.toString,
+	hasOwn = Object.prototype.hasOwnProperty,
+	push = Array.prototype.push,
+	slice = Array.prototype.slice,
+	trim = String.prototype.trim,
+	indexOf = Array.prototype.indexOf,
+
+	// [[Class]] -> type pairs
+	class2type = {};
+
+jQuery.fn = jQuery.prototype = {
+	constructor: jQuery,
+	init: function( selector, context, rootjQuery ) {
+		var match, elem, ret, doc;
+
+		// Handle $(""), $(null), or $(undefined)
+		if ( !selector ) {
+			return this;
+		}
+
+		// Handle $(DOMElement)
+		if ( selector.nodeType ) {
+			this.context = this[0] = selector;
+			this.length = 1;
+			return this;
+		}
+
+		// The body element only exists once, optimize finding it
+		if ( selector === "body" && !context && document.body ) {
+			this.context = document;
+			this[0] = document.body;
+			this.selector = "body";
+			this.length = 1;
+			return this;
+		}
+
+		// Handle HTML strings
+		if ( typeof selector === "string" ) {
+			// Are we dealing with HTML string or an ID?
+			match = quickExpr.exec( selector );
+
+			// Verify a match, and that no context was specified for #id
+			if ( match && (match[1] || !context) ) {
+
+				// HANDLE: $(html) -> $(array)
+				if ( match[1] ) {
+					context = context instanceof jQuery ? context[0] : context;
+					doc = (context ? context.ownerDocument || context : document);
+
+					// If a single string is passed in and it's a single tag
+					// just do a createElement and skip the rest
+					ret = rsingleTag.exec( selector );
+
+					if ( ret ) {
+						if ( jQuery.isPlainObject( context ) ) {
+							selector = [ document.createElement( ret[1] ) ];
+							jQuery.fn.attr.call( selector, context, true );
+
+						} else {
+							selector = [ doc.createElement( ret[1] ) ];
+						}
+
+					} else {
+						ret = jQuery.buildFragment( [ match[1] ], [ doc ] );
+						selector = (ret.cacheable ? jQuery.clone(ret.fragment) : \
ret.fragment).childNodes; +					}
+
+					return jQuery.merge( this, selector );
+
+				// HANDLE: $("#id")
+				} else {
+					elem = document.getElementById( match[2] );
+
+					// Check parentNode to catch when Blackberry 4.6 returns
+					// nodes that are no longer in the document #6963
+					if ( elem && elem.parentNode ) {
+						// Handle the case where IE and Opera return items
+						// by name instead of ID
+						if ( elem.id !== match[2] ) {
+							return rootjQuery.find( selector );
+						}
+
+						// Otherwise, we inject the element directly into the jQuery object
+						this.length = 1;
+						this[0] = elem;
+					}
+
+					this.context = document;
+					this.selector = selector;
+					return this;
+				}
+
+			// HANDLE: $(expr, $(...))
+			} else if ( !context || context.jquery ) {
+				return (context || rootjQuery).find( selector );
+
+			// HANDLE: $(expr, context)
+			// (which is just equivalent to: $(context).find(expr)
+			} else {
+				return this.constructor( context ).find( selector );
+			}
+
+		// HANDLE: $(function)
+		// Shortcut for document ready
+		} else if ( jQuery.isFunction( selector ) ) {
+			return rootjQuery.ready( selector );
+		}
+
+		if (selector.selector !== undefined) {
+			this.selector = selector.selector;
+			this.context = selector.context;
+		}
+
+		return jQuery.makeArray( selector, this );
+	},
+
+	// Start with an empty selector
+	selector: "",
+
+	// The current version of jQuery being used
+	jquery: "1.5.1",
+
+	// The default length of a jQuery object is 0
+	length: 0,
+
+	// The number of elements contained in the matched element set
+	size: function() {
+		return this.length;
+	},
+
+	toArray: function() {
+		return slice.call( this, 0 );
+	},
+
+	// Get the Nth element in the matched element set OR
+	// Get the whole matched element set as a clean array
+	get: function( num ) {
+		return num == null ?
+
+			// Return a 'clean' array
+			this.toArray() :
+
+			// Return just the object
+			( num < 0 ? this[ this.length + num ] : this[ num ] );
+	},
+
+	// Take an array of elements and push it onto the stack
+	// (returning the new matched element set)
+	pushStack: function( elems, name, selector ) {
+		// Build a new jQuery matched element set
+		var ret = this.constructor();
+
+		if ( jQuery.isArray( elems ) ) {
+			push.apply( ret, elems );
+
+		} else {
+			jQuery.merge( ret, elems );
+		}
+
+		// Add the old object onto the stack (as a reference)
+		ret.prevObject = this;
+
+		ret.context = this.context;
+
+		if ( name === "find" ) {
+			ret.selector = this.selector + (this.selector ? " " : "") + selector;
+		} else if ( name ) {
+			ret.selector = this.selector + "." + name + "(" + selector + ")";
+		}
+
+		// Return the newly-formed element set
+		return ret;
+	},
+
+	// Execute a callback for every element in the matched set.
+	// (You can seed the arguments with an array of args, but this is
+	// only used internally.)
+	each: function( callback, args ) {
+		return jQuery.each( this, callback, args );
+	},
+
+	ready: function( fn ) {
+		// Attach the listeners
+		jQuery.bindReady();
+
+		// Add the callback
+		readyList.done( fn );
+
+		return this;
+	},
+
+	eq: function( i ) {
+		return i === -1 ?
+			this.slice( i ) :
+			this.slice( i, +i + 1 );
+	},
+
+	first: function() {
+		return this.eq( 0 );
+	},
+
+	last: function() {
+		return this.eq( -1 );
+	},
+
+	slice: function() {
+		return this.pushStack( slice.apply( this, arguments ),
+			"slice", slice.call(arguments).join(",") );
+	},
+
+	map: function( callback ) {
+		return this.pushStack( jQuery.map(this, function( elem, i ) {
+			return callback.call( elem, i, elem );
+		}));
+	},
+
+	end: function() {
+		return this.prevObject || this.constructor(null);
+	},
+
+	// For internal use only.
+	// Behaves like an Array's method, not like a jQuery method.
+	push: push,
+	sort: [].sort,
+	splice: [].splice
+};
+
+// Give the init function the jQuery prototype for later instantiation
+jQuery.fn.init.prototype = jQuery.fn;
+
+jQuery.extend = jQuery.fn.extend = function() {
+	var options, name, src, copy, copyIsArray, clone,
+		target = arguments[0] || {},
+		i = 1,
+		length = arguments.length,
+		deep = false;
+
+	// Handle a deep copy situation
+	if ( typeof target === "boolean" ) {
+		deep = target;
+		target = arguments[1] || {};
+		// skip the boolean and the target
+		i = 2;
+	}
+
+	// Handle case when target is a string or something (possible in deep copy)
+	if ( typeof target !== "object" && !jQuery.isFunction(target) ) {
+		target = {};
+	}
+
+	// extend jQuery itself if only one argument is passed
+	if ( length === i ) {
+		target = this;
+		--i;
+	}
+
+	for ( ; i < length; i++ ) {
+		// Only deal with non-null/undefined values
+		if ( (options = arguments[ i ]) != null ) {
+			// Extend the base object
+			for ( name in options ) {
+				src = target[ name ];
+				copy = options[ name ];
+
+				// Prevent never-ending loop
+				if ( target === copy ) {
+					continue;
+				}
+
+				// Recurse if we're merging plain objects or arrays
+				if ( deep && copy && ( jQuery.isPlainObject(copy) || (copyIsArray = \
jQuery.isArray(copy)) ) ) { +					if ( copyIsArray ) {
+						copyIsArray = false;
+						clone = src && jQuery.isArray(src) ? src : [];
+
+					} else {
+						clone = src && jQuery.isPlainObject(src) ? src : {};
+					}
+
+					// Never move original objects, clone them
+					target[ name ] = jQuery.extend( deep, clone, copy );
+
+				// Don't bring in undefined values
+				} else if ( copy !== undefined ) {
+					target[ name ] = copy;
+				}
+			}
+		}
+	}
+
+	// Return the modified object
+	return target;
+};
+
+jQuery.extend({
+	noConflict: function( deep ) {
+		window.$ = _$;
+
+		if ( deep ) {
+			window.jQuery = _jQuery;
+		}
+
+		return jQuery;
+	},
+
+	// Is the DOM ready to be used? Set to true once it occurs.
+	isReady: false,
+
+	// A counter to track how many items to wait for before
+	// the ready event fires. See #6781
+	readyWait: 1,
+
+	// Handle when the DOM is ready
+	ready: function( wait ) {
+		// A third-party is pushing the ready event forwards
+		if ( wait === true ) {
+			jQuery.readyWait--;
+		}
+
+		// Make sure that the DOM is not already loaded
+		if ( !jQuery.readyWait || (wait !== true && !jQuery.isReady) ) {
+			// Make sure body exists, at least, in case IE gets a little overzealous (ticket \
#5443). +			if ( !document.body ) {
+				return setTimeout( jQuery.ready, 1 );
+			}
+
+			// Remember that the DOM is ready
+			jQuery.isReady = true;
+
+			// If a normal DOM Ready event fired, decrement, and wait if need be
+			if ( wait !== true && --jQuery.readyWait > 0 ) {
+				return;
+			}
+
+			// If there are functions bound, to execute
+			readyList.resolveWith( document, [ jQuery ] );
+
+			// Trigger any bound ready events
+			if ( jQuery.fn.trigger ) {
+				jQuery( document ).trigger( "ready" ).unbind( "ready" );
+			}
+		}
+	},
+
+	bindReady: function() {
+		if ( readyBound ) {
+			return;
+		}
+
+		readyBound = true;
+
+		// Catch cases where $(document).ready() is called after the
+		// browser event has already occurred.
+		if ( document.readyState === "complete" ) {
+			// Handle it asynchronously to allow scripts the opportunity to delay ready
+			return setTimeout( jQuery.ready, 1 );
+		}
+
+		// Mozilla, Opera and webkit nightlies currently support this event
+		if ( document.addEventListener ) {
+			// Use the handy event callback
+			document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+
+			// A fallback to window.onload, that will always work
+			window.addEventListener( "load", jQuery.ready, false );
+
+		// If IE event model is used
+		} else if ( document.attachEvent ) {
+			// ensure firing before onload,
+			// maybe late but safe also for iframes
+			document.attachEvent("onreadystatechange", DOMContentLoaded);
+
+			// A fallback to window.onload, that will always work
+			window.attachEvent( "onload", jQuery.ready );
+
+			// If IE and not a frame
+			// continually check to see if the document is ready
+			var toplevel = false;
+
+			try {
+				toplevel = window.frameElement == null;
+			} catch(e) {}
+
+			if ( document.documentElement.doScroll && toplevel ) {
+				doScrollCheck();
+			}
+		}
+	},
+
+	// See test/unit/core.js for details concerning isFunction.
+	// Since version 1.3, DOM methods and functions like alert
+	// aren't supported. They return false on IE (#2968).
+	isFunction: function( obj ) {
+		return jQuery.type(obj) === "function";
+	},
+
+	isArray: Array.isArray || function( obj ) {
+		return jQuery.type(obj) === "array";
+	},
+
+	// A crude way of determining if an object is a window
+	isWindow: function( obj ) {
+		return obj && typeof obj === "object" && "setInterval" in obj;
+	},
+
+	isNaN: function( obj ) {
+		return obj == null || !rdigit.test( obj ) || isNaN( obj );
+	},
+
+	type: function( obj ) {
+		return obj == null ?
+			String( obj ) :
+			class2type[ toString.call(obj) ] || "object";
+	},
+
+	isPlainObject: function( obj ) {
+		// Must be an Object.
+		// Because of IE, we also have to check the presence of the constructor property.
+		// Make sure that DOM nodes and window objects don't pass through, as well
+		if ( !obj || jQuery.type(obj) !== "object" || obj.nodeType || jQuery.isWindow( obj \
) ) { +			return false;
+		}
+
+		// Not own constructor property must be Object
+		if ( obj.constructor &&
+			!hasOwn.call(obj, "constructor") &&
+			!hasOwn.call(obj.constructor.prototype, "isPrototypeOf") ) {
+			return false;
+		}
+
+		// Own properties are enumerated firstly, so to speed up,
+		// if last one is own, then all properties are own.
+
+		var key;
+		for ( key in obj ) {}
+
+		return key === undefined || hasOwn.call( obj, key );
+	},
+
+	isEmptyObject: function( obj ) {
+		for ( var name in obj ) {
+			return false;
+		}
+		return true;
+	},
+
+	error: function( msg ) {
+		throw msg;
+	},
+
+	parseJSON: function( data ) {
+		if ( typeof data !== "string" || !data ) {
+			return null;
+		}
+
+		// Make sure leading/trailing whitespace is removed (IE can't handle it)
+		data = jQuery.trim( data );
+
+		// Make sure the incoming data is actual JSON
+		// Logic borrowed from http://json.org/json2.js
+		if ( rvalidchars.test(data.replace(rvalidescape, "@")
+			.replace(rvalidtokens, "]")
+			.replace(rvalidbraces, "")) ) {
+
+			// Try to use the native JSON parser first
+			return window.JSON && window.JSON.parse ?
+				window.JSON.parse( data ) :
+				(new Function("return " + data))();
+
+		} else {
+			jQuery.error( "Invalid JSON: " + data );
+		}
+	},
+
+	// Cross-browser xml parsing
+	// (xml & tmp used internally)
+	parseXML: function( data , xml , tmp ) {
+
+		if ( window.DOMParser ) { // Standard
+			tmp = new DOMParser();
+			xml = tmp.parseFromString( data , "text/xml" );
+		} else { // IE
+			xml = new ActiveXObject( "Microsoft.XMLDOM" );
+			xml.async = "false";
+			xml.loadXML( data );
+		}
+
+		tmp = xml.documentElement;
+
+		if ( ! tmp || ! tmp.nodeName || tmp.nodeName === "parsererror" ) {
+			jQuery.error( "Invalid XML: " + data );
+		}
+
+		return xml;
+	},
+
+	noop: function() {},
+
+	// Evalulates a script in a global context
+	globalEval: function( data ) {
+		if ( data && rnotwhite.test(data) ) {
+			// Inspired by code by Andrea Giammarchi
+			// http://webreflection.blogspot.com/2007/08/global-scope-evaluation-and-dom.html
+			var head = document.head || document.getElementsByTagName( "head" )[0] || \
document.documentElement, +				script = document.createElement( "script" );
+
+			if ( jQuery.support.scriptEval() ) {
+				script.appendChild( document.createTextNode( data ) );
+			} else {
+				script.text = data;
+			}
+
+			// Use insertBefore instead of appendChild to circumvent an IE6 bug.
+			// This arises when a base node is used (#2709).
+			head.insertBefore( script, head.firstChild );
+			head.removeChild( script );
+		}
+	},
+
+	nodeName: function( elem, name ) {
+		return elem.nodeName && elem.nodeName.toUpperCase() === name.toUpperCase();
+	},
+
+	// args is for internal usage only
+	each: function( object, callback, args ) {
+		var name, i = 0,
+			length = object.length,
+			isObj = length === undefined || jQuery.isFunction(object);
+
+		if ( args ) {
+			if ( isObj ) {
+				for ( name in object ) {
+					if ( callback.apply( object[ name ], args ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( ; i < length; ) {
+					if ( callback.apply( object[ i++ ], args ) === false ) {
+						break;
+					}
+				}
+			}
+
+		// A special, fast, case for the most common use of each
+		} else {
+			if ( isObj ) {
+				for ( name in object ) {
+					if ( callback.call( object[ name ], name, object[ name ] ) === false ) {
+						break;
+					}
+				}
+			} else {
+				for ( var value = object[0];
+					i < length && callback.call( value, i, value ) !== false; value = object[++i] ) \
{} +			}
+		}
+
+		return object;
+	},
+
+	// Use native String.trim function wherever possible
+	trim: trim ?
+		function( text ) {
+			return text == null ?
+				"" :
+				trim.call( text );
+		} :
+
+		// Otherwise use our own trimming functionality
+		function( text ) {
+			return text == null ?
+				"" :
+				text.toString().replace( trimLeft, "" ).replace( trimRight, "" );
+		},
+
+	// results is for internal usage only
+	makeArray: function( array, results ) {
+		var ret = results || [];
+
+		if ( array != null ) {
+			// The window, strings (and functions) also have 'length'
+			// The extra typeof function check is to prevent crashes
+			// in Safari 2 (See: #3039)
+			// Tweaked logic slightly to handle Blackberry 4.7 RegExp issues #6930
+			var type = jQuery.type(array);
+
+			if ( array.length == null || type === "string" || type === "function" || type === \
"regexp" || jQuery.isWindow( array ) ) { +				push.call( ret, array );
+			} else {
+				jQuery.merge( ret, array );
+			}
+		}
+
+		return ret;
+	},
+
+	inArray: function( elem, array ) {
+		if ( array.indexOf ) {
+			return array.indexOf( elem );
+		}
+
+		for ( var i = 0, length = array.length; i < length; i++ ) {
+			if ( array[ i ] === elem ) {
+				return i;
+			}
+		}
+
+		return -1;
+	},
+
+	merge: function( first, second ) {
+		var i = first.length,
+			j = 0;
+
+		if ( typeof second.length === "number" ) {
+			for ( var l = second.length; j < l; j++ ) {
+				first[ i++ ] = second[ j ];
+			}
+
+		} else {
+			while ( second[j] !== undefined ) {
+				first[ i++ ] = second[ j++ ];
+			}
+		}
+
+		first.length = i;
+
+		return first;
+	},
+
+	grep: function( elems, callback, inv ) {
+		var ret = [], retVal;
+		inv = !!inv;
+
+		// Go through the array, only saving the items
+		// that pass the validator function
+		for ( var i = 0, length = elems.length; i < length; i++ ) {
+			retVal = !!callback( elems[ i ], i );
+			if ( inv !== retVal ) {
+				ret.push( elems[ i ] );
+			}
+		}
+
+		return ret;
+	},
+
+	// arg is for internal usage only
+	map: function( elems, callback, arg ) {
+		var ret = [], value;
+
+		// Go through the array, translating each of the items to their
+		// new value (or values).
+		for ( var i = 0, length = elems.length; i < length; i++ ) {
+			value = callback( elems[ i ], i, arg );
+
+			if ( value != null ) {
+				ret[ ret.length ] = value;
+			}
+		}
+
+		// Flatten any nested arrays
+		return ret.concat.apply( [], ret );
+	},
+
+	// A global GUID counter for objects
+	guid: 1,
+
+	proxy: function( fn, proxy, thisObject ) {
+		if ( arguments.length === 2 ) {
+			if ( typeof proxy === "string" ) {
+				thisObject = fn;
+				fn = thisObject[ proxy ];
+				proxy = undefined;
+
+			} else if ( proxy && !jQuery.isFunction( proxy ) ) {
+				thisObject = proxy;
+				proxy = undefined;
+			}
+		}
+
+		if ( !proxy && fn ) {
+			proxy = function() {
+				return fn.apply( thisObject || this, arguments );
+			};
+		}
+
+		// Set the guid of unique handler to the same of original handler, so it can be \
removed +		if ( fn ) {
+			proxy.guid = fn.guid = fn.guid || proxy.guid || jQuery.guid++;
+		}
+
+		// So proxy can be declared as an argument
+		return proxy;
+	},
+
+	// Mutifunctional method to get and set values to a collection
+	// The value/s can be optionally by executed if its a function
+	access: function( elems, key, value, exec, fn, pass ) {
+		var length = elems.length;
+
+		// Setting many attributes
+		if ( typeof key === "object" ) {
+			for ( var k in key ) {
+				jQuery.access( elems, k, key[k], exec, fn, value );
+			}
+			return elems;
+		}
+
+		// Setting one attribute
+		if ( value !== undefined ) {
+			// Optionally, function values get executed if exec is true
+			exec = !pass && exec && jQuery.isFunction(value);
+
+			for ( var i = 0; i < length; i++ ) {
+				fn( elems[i], key, exec ? value.call( elems[i], i, fn( elems[i], key ) ) : \
value, pass ); +			}
+
+			return elems;
+		}
+
+		// Getting an attribute
+		return length ? fn( elems[0], key ) : undefined;
+	},
+
+	now: function() {
+		return (new Date()).getTime();
+	},
+
+	// Create a simple deferred (one callbacks list)
+	_Deferred: function() {
+		var // callbacks list
+			callbacks = [],
+			// stored [ context , args ]
+			fired,
+			// to avoid firing when already doing so
+			firing,
+			// flag to know if the deferred has been cancelled
+			cancelled,
+			// the deferred itself
+			deferred  = {
+
+				// done( f1, f2, ...)
+				done: function() {
+					if ( !cancelled ) {
+						var args = arguments,
+							i,
+							length,
+							elem,
+							type,
+							_fired;
+						if ( fired ) {
+							_fired = fired;
+							fired = 0;
+						}
+						for ( i = 0, length = args.length; i < length; i++ ) {
+							elem = args[ i ];
+							type = jQuery.type( elem );
+							if ( type === "array" ) {
+								deferred.done.apply( deferred, elem );
+							} else if ( type === "function" ) {
+								callbacks.push( elem );
+							}
+						}
+						if ( _fired ) {
+							deferred.resolveWith( _fired[ 0 ], _fired[ 1 ] );
+						}
+					}
+					return this;
+				},
+
+				// resolve with given context and args
+				resolveWith: function( context, args ) {
+					if ( !cancelled && !fired && !firing ) {
+						firing = 1;
+						try {
+							while( callbacks[ 0 ] ) {
+								callbacks.shift().apply( context, args );
+							}
+						}
+						// We have to add a catch block for
+						// IE prior to 8 or else the finally
+						// block will never get executed
+						catch (e) {
+							throw e;
+						}
+						finally {
+							fired = [ context, args ];
+							firing = 0;
+						}
+					}
+					return this;
+				},
+
+				// resolve with this as context and given arguments
+				resolve: function() {
+					deferred.resolveWith( jQuery.isFunction( this.promise ) ? this.promise() : \
this, arguments ); +					return this;
+				},
+
+				// Has this deferred been resolved?
+				isResolved: function() {
+					return !!( firing || fired );
+				},
+
+				// Cancel
+				cancel: function() {
+					cancelled = 1;
+					callbacks = [];
+					return this;
+				}
+			};
+
+		return deferred;
+	},
+
+	// Full fledged deferred (two callbacks list)
+	Deferred: function( func ) {
+		var deferred = jQuery._Deferred(),
+			failDeferred = jQuery._Deferred(),
+			promise;
+		// Add errorDeferred methods, then and promise
+		jQuery.extend( deferred, {
+			then: function( doneCallbacks, failCallbacks ) {
+				deferred.done( doneCallbacks ).fail( failCallbacks );
+				return this;
+			},
+			fail: failDeferred.done,
+			rejectWith: failDeferred.resolveWith,
+			reject: failDeferred.resolve,
+			isRejected: failDeferred.isResolved,
+			// Get a promise for this deferred
+			// If obj is provided, the promise aspect is added to the object
+			promise: function( obj ) {
+				if ( obj == null ) {
+					if ( promise ) {
+						return promise;
+					}
+					promise = obj = {};
+				}
+				var i = promiseMethods.length;
+				while( i-- ) {
+					obj[ promiseMethods[i] ] = deferred[ promiseMethods[i] ];
+				}
+				return obj;
+			}
+		} );
+		// Make sure only one callback list will be used
+		deferred.done( failDeferred.cancel ).fail( deferred.cancel );
+		// Unexpose cancel
+		delete deferred.cancel;
+		// Call given func if any
+		if ( func ) {
+			func.call( deferred, deferred );
+		}
+		return deferred;
+	},
+
+	// Deferred helper
+	when: function( object ) {
+		var lastIndex = arguments.length,
+			deferred = lastIndex <= 1 && object && jQuery.isFunction( object.promise ) ?
+				object :
+				jQuery.Deferred(),
+			promise = deferred.promise();
+
+		if ( lastIndex > 1 ) {
+			var array = slice.call( arguments, 0 ),
+				count = lastIndex,
+				iCallback = function( index ) {
+					return function( value ) {
+						array[ index ] = arguments.length > 1 ? slice.call( arguments, 0 ) : value;
+						if ( !( --count ) ) {
+							deferred.resolveWith( promise, array );
+						}
+					};
+				};
+			while( ( lastIndex-- ) ) {
+				object = array[ lastIndex ];
+				if ( object && jQuery.isFunction( object.promise ) ) {
+					object.promise().then( iCallback(lastIndex), deferred.reject );
+				} else {
+					--count;
+				}
+			}
+			if ( !count ) {
+				deferred.resolveWith( promise, array );
+			}
+		} else if ( deferred !== object ) {
+			deferred.resolve( object );
+		}
+		return promise;
+	},
+
+	// Use of jQuery.browser is frowned upon.
+	// More details: http://docs.jquery.com/Utilities/jQuery.browser
+	uaMatch: function( ua ) {
+		ua = ua.toLowerCase();
+
+		var match = rwebkit.exec( ua ) ||
+			ropera.exec( ua ) ||
+			rmsie.exec( ua ) ||
+			ua.indexOf("compatible") < 0 && rmozilla.exec( ua ) ||
+			[];
+
+		return { browser: match[1] || "", version: match[2] || "0" };
+	},
+
+	sub: function() {
+		function jQuerySubclass( selector, context ) {
+			return new jQuerySubclass.fn.init( selector, context );
+		}
+		jQuery.extend( true, jQuerySubclass, this );
+		jQuerySubclass.superclass = this;
+		jQuerySubclass.fn = jQuerySubclass.prototype = this();
+		jQuerySubclass.fn.constructor = jQuerySubclass;
+		jQuerySubclass.subclass = this.subclass;
+		jQuerySubclass.fn.init = function init( selector, context ) {
+			if ( context && context instanceof jQuery && !(context instanceof jQuerySubclass) \
) { +				context = jQuerySubclass(context);
+			}
+
+			return jQuery.fn.init.call( this, selector, context, rootjQuerySubclass );
+		};
+		jQuerySubclass.fn.init.prototype = jQuerySubclass.fn;
+		var rootjQuerySubclass = jQuerySubclass(document);
+		return jQuerySubclass;
+	},
+
+	browser: {}
+});
+
+// Create readyList deferred
+readyList = jQuery._Deferred();
+
+// Populate the class2type map
+jQuery.each("Boolean Number String Function Array Date RegExp Object".split(" "), \
function(i, name) { +	class2type[ "[object " + name + "]" ] = name.toLowerCase();
+});
+
+browserMatch = jQuery.uaMatch( userAgent );
+if ( browserMatch.browser ) {
+	jQuery.browser[ browserMatch.browser ] = true;
+	jQuery.browser.version = browserMatch.version;
+}
+
+// Deprecated, use jQuery.browser.webkit instead
+if ( jQuery.browser.webkit ) {
+	jQuery.browser.safari = true;
+}
+
+if ( indexOf ) {
+	jQuery.inArray = function( elem, array ) {
+		return indexOf.call( array, elem );
+	};
+}
+
+// IE doesn't match non-breaking spaces with \s
+if ( rnotwhite.test( "\xA0" ) ) {
+	trimLeft = /^[\s\xA0]+/;
+	trimRight = /[\s\xA0]+$/;
+}
+
+// All jQuery objects should point back to these
+rootjQuery = jQuery(document);
+
+// Cleanup functions for the document ready method
+if ( document.addEventListener ) {
+	DOMContentLoaded = function() {
+		document.removeEventListener( "DOMContentLoaded", DOMContentLoaded, false );
+		jQuery.ready();
+	};
+
+} else if ( document.attachEvent ) {
+	DOMContentLoaded = function() {
+		// Make sure body exists, at least, in case IE gets a little overzealous (ticket \
#5443). +		if ( document.readyState === "complete" ) {
+			document.detachEvent( "onreadystatechange", DOMContentLoaded );
+			jQuery.ready();
+		}
+	};
+}
+
+// The DOM ready check for Internet Explorer
+function doScrollCheck() {
+	if ( jQuery.isReady ) {
+		return;
+	}
+
+	try {
+		// If IE is used, use the trick by Diego Perini
+		// http://javascript.nwbox.com/IEContentLoaded/
+		document.documentElement.doScroll("left");
+	} catch(e) {
+		setTimeout( doScrollCheck, 1 );
+		return;
+	}
+
+	// and execute any waiting functions
+	jQuery.ready();
+}
+
+// Expose jQuery to the global object
+return jQuery;
+
+})();
+
+
+(function() {
+
+	jQuery.support = {};
+
+	var div = document.createElement("div");
+
+	div.style.display = "none";
+	div.innerHTML = "   <link/><table></table><a href='/a' \
style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; +
+	var all = div.getElementsByTagName("*"),
+		a = div.getElementsByTagName("a")[0],
+		select = document.createElement("select"),
+		opt = select.appendChild( document.createElement("option") ),
+		input = div.getElementsByTagName("input")[0];
+
+	// Can't get basic test support
+	if ( !all || !all.length || !a ) {
+		return;
+	}
+
+	jQuery.support = {
+		// IE strips leading whitespace when .innerHTML is used
+		leadingWhitespace: div.firstChild.nodeType === 3,
+
+		// Make sure that tbody elements aren't automatically inserted
+		// IE will insert them into empty tables
+		tbody: !div.getElementsByTagName("tbody").length,
+
+		// Make sure that link elements get serialized correctly by innerHTML
+		// This requires a wrapper element in IE
+		htmlSerialize: !!div.getElementsByTagName("link").length,
+
+		// Get the style information from getAttribute
+		// (IE uses .cssText insted)
+		style: /red/.test( a.getAttribute("style") ),
+
+		// Make sure that URLs aren't manipulated
+		// (IE normalizes it by default)
+		hrefNormalized: a.getAttribute("href") === "/a",
+
+		// Make sure that element opacity exists
+		// (IE uses filter instead)
+		// Use a regex to work around a WebKit issue. See #5145
+		opacity: /^0.55$/.test( a.style.opacity ),
+
+		// Verify style float existence
+		// (IE uses styleFloat instead of cssFloat)
+		cssFloat: !!a.style.cssFloat,
+
+		// Make sure that if no value is specified for a checkbox
+		// that it defaults to "on".
+		// (WebKit defaults to "" instead)
+		checkOn: input.value === "on",
+
+		// Make sure that a selected-by-default option has a working selected property.
+		// (WebKit defaults to false instead of true, IE too, if it's in an optgroup)
+		optSelected: opt.selected,
+
+		// Will be defined later
+		deleteExpando: true,
+		optDisabled: false,
+		checkClone: false,
+		noCloneEvent: true,
+		noCloneChecked: true,
+		boxModel: null,
+		inlineBlockNeedsLayout: false,
+		shrinkWrapBlocks: false,
+		reliableHiddenOffsets: true
+	};
+
+	input.checked = true;
+	jQuery.support.noCloneChecked = input.cloneNode( true ).checked;
+
+	// Make sure that the options inside disabled selects aren't marked as disabled
+	// (WebKit marks them as diabled)
+	select.disabled = true;
+	jQuery.support.optDisabled = !opt.disabled;
+
+	var _scriptEval = null;
+	jQuery.support.scriptEval = function() {
+		if ( _scriptEval === null ) {
+			var root = document.documentElement,
+				script = document.createElement("script"),
+				id = "script" + jQuery.now();
+
+			try {
+				script.appendChild( document.createTextNode( "window." + id + "=1;" ) );
+			} catch(e) {}
+
+			root.insertBefore( script, root.firstChild );
+
+			// Make sure that the execution of code works by injecting a script
+			// tag with appendChild/createTextNode
+			// (IE doesn't support this, fails, and uses .text instead)
+			if ( window[ id ] ) {
+				_scriptEval = true;
+				delete window[ id ];
+			} else {
+				_scriptEval = false;
+			}
+
+			root.removeChild( script );
+			// release memory in IE
+			root = script = id  = null;
+		}
+
+		return _scriptEval;
+	};
+
+	// Test to see if it's possible to delete an expando from an element
+	// Fails in Internet Explorer
+	try {
+		delete div.test;
+
+	} catch(e) {
+		jQuery.support.deleteExpando = false;
+	}
+
+	if ( !div.addEventListener && div.attachEvent && div.fireEvent ) {
+		div.attachEvent("onclick", function click() {
+			// Cloning a node shouldn't copy over any
+			// bound event handlers (IE does this)
+			jQuery.support.noCloneEvent = false;
+			div.detachEvent("onclick", click);
+		});
+		div.cloneNode(true).fireEvent("onclick");
+	}
+
+	div = document.createElement("div");
+	div.innerHTML = "<input type='radio' name='radiotest' checked='checked'/>";
+
+	var fragment = document.createDocumentFragment();
+	fragment.appendChild( div.firstChild );
+
+	// WebKit doesn't clone checked state correctly in fragments
+	jQuery.support.checkClone = \
fragment.cloneNode(true).cloneNode(true).lastChild.checked; +
+	// Figure out if the W3C box model works as expected
+	// document.body must exist before we can do this
+	jQuery(function() {
+		var div = document.createElement("div"),
+			body = document.getElementsByTagName("body")[0];
+
+		// Frameset documents with no body should not run this code
+		if ( !body ) {
+			return;
+		}
+
+		div.style.width = div.style.paddingLeft = "1px";
+		body.appendChild( div );
+		jQuery.boxModel = jQuery.support.boxModel = div.offsetWidth === 2;
+
+		if ( "zoom" in div.style ) {
+			// Check if natively block-level elements act like inline-block
+			// elements when setting their display to 'inline' and giving
+			// them layout
+			// (IE < 8 does this)
+			div.style.display = "inline";
+			div.style.zoom = 1;
+			jQuery.support.inlineBlockNeedsLayout = div.offsetWidth === 2;
+
+			// Check if elements with layout shrink-wrap their children
+			// (IE 6 does this)
+			div.style.display = "";
+			div.innerHTML = "<div style='width:4px;'></div>";
+			jQuery.support.shrinkWrapBlocks = div.offsetWidth !== 2;
+		}
+
+		div.innerHTML = "<table><tr><td \
style='padding:0;border:0;display:none'></td><td>t</td></tr></table>"; +		var tds = \
div.getElementsByTagName("td"); +
+		// Check if table cells still have offsetWidth/Height when they are set
+		// to display:none and there are still other visible table cells in a
+		// table row; if so, offsetWidth/Height are not reliable for use when
+		// determining if an element has been hidden directly using
+		// display:none (it is still safe to use offsets if a parent element is
+		// hidden; don safety goggles and see bug #4512 for more information).
+		// (only IE 8 fails this test)
+		jQuery.support.reliableHiddenOffsets = tds[0].offsetHeight === 0;
+
+		tds[0].style.display = "";
+		tds[1].style.display = "none";
+
+		// Check if empty table cells still have offsetWidth/Height
+		// (IE < 8 fail this test)
+		jQuery.support.reliableHiddenOffsets = jQuery.support.reliableHiddenOffsets && \
tds[0].offsetHeight === 0; +		div.innerHTML = "";
+
+		body.removeChild( div ).style.display = "none";
+		div = tds = null;
+	});
+
+	// Technique from Juriy Zaytsev
+	// http://thinkweb2.com/projects/prototype/detecting-event-support-without-browser-sniffing/
 +	var eventSupported = function( eventName ) {
+		var el = document.createElement("div");
+		eventName = "on" + eventName;
+
+		// We only care about the case where non-standard event systems
+		// are used, namely in IE. Short-circuiting here helps us to
+		// avoid an eval call (in setAttribute) which can cause CSP
+		// to go haywire. See: https://developer.mozilla.org/en/Security/CSP
+		if ( !el.attachEvent ) {
+			return true;
+		}
+
+		var isSupported = (eventName in el);
+		if ( !isSupported ) {
+			el.setAttribute(eventName, "return;");
+			isSupported = typeof el[eventName] === "function";
+		}
+		el = null;
+
+		return isSupported;
+	};
+
+	jQuery.support.submitBubbles = eventSupported("submit");
+	jQuery.support.changeBubbles = eventSupported("change");
+
+	// release memory in IE
+	div = all = a = null;
+})();
+
+
+
+var rbrace = /^(?:\{.*\}|\[.*\])$/;
+
+jQuery.extend({
+	cache: {},
+
+	// Please use with caution
+	uuid: 0,
+
+	// Unique for each copy of jQuery on the page
+	// Non-digits removed to match rinlinejQuery
+	expando: "jQuery" + ( jQuery.fn.jquery + Math.random() ).replace( /\D/g, "" ),
+
+	// The following elements throw uncatchable exceptions if you
+	// attempt to add expando properties to them.
+	noData: {
+		"embed": true,
+		// Ban all objects except for Flash (which handle expandos)
+		"object": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",
+		"applet": true
+	},
+
+	hasData: function( elem ) {
+		elem = elem.nodeType ? jQuery.cache[ elem[jQuery.expando] ] : elem[ jQuery.expando \
]; +
+		return !!elem && !isEmptyDataObject( elem );
+	},
+
+	data: function( elem, name, data, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var internalKey = jQuery.expando, getByName = typeof name === "string", thisCache,
+
+			// We have to handle DOM nodes and JS objects differently because IE6-7
+			// can't GC object references properly across the DOM-JS boundary
+			isNode = elem.nodeType,
+
+			// Only DOM nodes need the global jQuery cache; JS object data is
+			// attached directly to the object so GC can occur automatically
+			cache = isNode ? jQuery.cache : elem,
+
+			// Only defining an ID for JS objects if its cache already exists allows
+			// the code to shortcut on the same path as a DOM node with no cache
+			id = isNode ? elem[ jQuery.expando ] : elem[ jQuery.expando ] && jQuery.expando;
+
+		// Avoid doing any more work than we need to when trying to get data on an
+		// object that has no data at all
+		if ( (!id || (pvt && id && !cache[ id ][ internalKey ])) && getByName && data === \
undefined ) { +			return;
+		}
+
+		if ( !id ) {
+			// Only DOM nodes need a new unique ID for each element since their data
+			// ends up in the global cache
+			if ( isNode ) {
+				elem[ jQuery.expando ] = id = ++jQuery.uuid;
+			} else {
+				id = jQuery.expando;
+			}
+		}
+
+		if ( !cache[ id ] ) {
+			cache[ id ] = {};
+
+			// TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
+			// metadata on plain JS objects when the object is serialized using
+			// JSON.stringify
+			if ( !isNode ) {
+				cache[ id ].toJSON = jQuery.noop;
+			}
+		}
+
+		// An object can be passed to jQuery.data instead of a key/value pair; this gets
+		// shallow copied over onto the existing cache
+		if ( typeof name === "object" || typeof name === "function" ) {
+			if ( pvt ) {
+				cache[ id ][ internalKey ] = jQuery.extend(cache[ id ][ internalKey ], name);
+			} else {
+				cache[ id ] = jQuery.extend(cache[ id ], name);
+			}
+		}
+
+		thisCache = cache[ id ];
+
+		// Internal jQuery data is stored in a separate object inside the object's data
+		// cache in order to avoid key collisions between internal data and user-defined
+		// data
+		if ( pvt ) {
+			if ( !thisCache[ internalKey ] ) {
+				thisCache[ internalKey ] = {};
+			}
+
+			thisCache = thisCache[ internalKey ];
+		}
+
+		if ( data !== undefined ) {
+			thisCache[ name ] = data;
+		}
+
+		// TODO: This is a hack for 1.5 ONLY. It will be removed in 1.6. Users should
+		// not attempt to inspect the internal events object using jQuery.data, as this
+		// internal data object is undocumented and subject to change.
+		if ( name === "events" && !thisCache[name] ) {
+			return thisCache[ internalKey ] && thisCache[ internalKey ].events;
+		}
+
+		return getByName ? thisCache[ name ] : thisCache;
+	},
+
+	removeData: function( elem, name, pvt /* Internal Use Only */ ) {
+		if ( !jQuery.acceptData( elem ) ) {
+			return;
+		}
+
+		var internalKey = jQuery.expando, isNode = elem.nodeType,
+
+			// See jQuery.data for more information
+			cache = isNode ? jQuery.cache : elem,
+
+			// See jQuery.data for more information
+			id = isNode ? elem[ jQuery.expando ] : jQuery.expando;
+
+		// If there is already no cache entry for this object, there is no
+		// purpose in continuing
+		if ( !cache[ id ] ) {
+			return;
+		}
+
+		if ( name ) {
+			var thisCache = pvt ? cache[ id ][ internalKey ] : cache[ id ];
+
+			if ( thisCache ) {
+				delete thisCache[ name ];
+
+				// If there is no data left in the cache, we want to continue
+				// and let the cache object itself get destroyed
+				if ( !isEmptyDataObject(thisCache) ) {
+					return;
+				}
+			}
+		}
+
+		// See jQuery.data for more information
+		if ( pvt ) {
+			delete cache[ id ][ internalKey ];
+
+			// Don't destroy the parent cache unless the internal data object
+			// had been the only thing left in it
+			if ( !isEmptyDataObject(cache[ id ]) ) {
+				return;
+			}
+		}
+
+		var internalCache = cache[ id ][ internalKey ];
+
+		// Browsers that fail expando deletion also refuse to delete expandos on
+		// the window, but it will allow it on all other JS objects; other browsers
+		// don't care
+		if ( jQuery.support.deleteExpando || cache != window ) {
+			delete cache[ id ];
+		} else {
+			cache[ id ] = null;
+		}
+
+		// We destroyed the entire user cache at once because it's faster than
+		// iterating through each key, but we need to continue to persist internal
+		// data if it existed
+		if ( internalCache ) {
+			cache[ id ] = {};
+			// TODO: This is a hack for 1.5 ONLY. Avoids exposing jQuery
+			// metadata on plain JS objects when the object is serialized using
+			// JSON.stringify
+			if ( !isNode ) {
+				cache[ id ].toJSON = jQuery.noop;
+			}
+
+			cache[ id ][ internalKey ] = internalCache;
+
+		// Otherwise, we need to eliminate the expando on the node to avoid
+		// false lookups in the cache for entries that no longer exist
+		} else if ( isNode ) {
+			// IE does not allow us to delete expando properties from nodes,
+			// nor does it have a removeAttribute function on Document nodes;
+			// we must handle all of these cases
+			if ( jQuery.support.deleteExpando ) {
+				delete elem[ jQuery.expando ];
+			} else if ( elem.removeAttribute ) {
+				elem.removeAttribute( jQuery.expando );
+			} else {
+				elem[ jQuery.expando ] = null;
+			}
+		}
+	},
+
+	// For internal use only.
+	_data: function( elem, name, data ) {
+		return jQuery.data( elem, name, data, true );
+	},
+
+	// A method for determining if a DOM node can handle the data expando
+	acceptData: function( elem ) {
+		if ( elem.nodeName ) {
+			var match = jQuery.noData[ elem.nodeName.toLowerCase() ];
+
+			if ( match ) {
+				return !(match === true || elem.getAttribute("classid") !== match);
+			}
+		}
+
+		return true;
+	}
+});
+
+jQuery.fn.extend({
+	data: function( key, value ) {
+		var data = null;
+
+		if ( typeof key === "undefined" ) {
+			if ( this.length ) {
+				data = jQuery.data( this[0] );
+
+				if ( this[0].nodeType === 1 ) {
+					var attr = this[0].attributes, name;
+					for ( var i = 0, l = attr.length; i < l; i++ ) {
+						name = attr[i].name;
+
+						if ( name.indexOf( "data-" ) === 0 ) {
+							name = name.substr( 5 );
+							dataAttr( this[0], name, data[ name ] );
+						}
+					}
+				}
+			}
+
+			return data;
+
+		} else if ( typeof key === "object" ) {
+			return this.each(function() {
+				jQuery.data( this, key );
+			});
+		}
+
+		var parts = key.split(".");
+		parts[1] = parts[1] ? "." + parts[1] : "";
+
+		if ( value === undefined ) {
+			data = this.triggerHandler("getData" + parts[1] + "!", [parts[0]]);
+
+			// Try to fetch any internally stored data first
+			if ( data === undefined && this.length ) {
+				data = jQuery.data( this[0], key );
+				data = dataAttr( this[0], key, data );
+			}
+
+			return data === undefined && parts[1] ?
+				this.data( parts[0] ) :
+				data;
+
+		} else {
+			return this.each(function() {
+				var $this = jQuery( this ),
+					args = [ parts[0], value ];
+
+				$this.triggerHandler( "setData" + parts[1] + "!", args );
+				jQuery.data( this, key, value );
+				$this.triggerHandler( "changeData" + parts[1] + "!", args );
+			});
+		}
+	},
+
+	removeData: function( key ) {
+		return this.each(function() {
+			jQuery.removeData( this, key );
+		});
+	}
+});
+
+function dataAttr( elem, key, data ) {
+	// If nothing was found internally, try to fetch any
+	// data from the HTML5 data-* attribute
+	if ( data === undefined && elem.nodeType === 1 ) {
+		data = elem.getAttribute( "data-" + key );
+
+		if ( typeof data === "string" ) {
+			try {
+				data = data === "true" ? true :
+				data === "false" ? false :
+				data === "null" ? null :
+				!jQuery.isNaN( data ) ? parseFloat( data ) :
+					rbrace.test( data ) ? jQuery.parseJSON( data ) :
+					data;
+			} catch( e ) {}
+
+			// Make sure we set the data so it isn't changed later
+			jQuery.data( elem, key, data );
+
+		} else {
+			data = undefined;
+		}
+	}
+
+	return data;
+}
+
+// TODO: This is a hack for 1.5 ONLY to allow objects with a single toJSON
+// property to be considered empty objects; this property always exists in
+// order to make sure JSON.stringify does not expose internal metadata
+function isEmptyDataObject( obj ) {
+	for ( var name in obj ) {
+		if ( name !== "toJSON" ) {
+			return false;
+		}
+	}
+
+	return true;
+}
+
+
+
+
+jQuery.extend({
+	queue: function( elem, type, data ) {
+		if ( !elem ) {
+			return;
+		}
+
+		type = (type || "fx") + "queue";
+		var q = jQuery._data( elem, type );
+
+		// Speed up dequeue by getting out quickly if this is just a lookup
+		if ( !data ) {
+			return q || [];
+		}
+
+		if ( !q || jQuery.isArray(data) ) {
+			q = jQuery._data( elem, type, jQuery.makeArray(data) );
+
+		} else {
+			q.push( data );
+		}
+
+		return q;
+	},
+
+	dequeue: function( elem, type ) {
+		type = type || "fx";
+
+		var queue = jQuery.queue( elem, type ),
+			fn = queue.shift();
+
+		// If the fx queue is dequeued, always remove the progress sentinel
+		if ( fn === "inprogress" ) {
+			fn = queue.shift();
+		}
+
+		if ( fn ) {
+			// Add a progress sentinel to prevent the fx queue from being
+			// automatically dequeued
+			if ( type === "fx" ) {
+				queue.unshift("inprogress");
+			}
+
+			fn.call(elem, function() {
+				jQuery.dequeue(elem, type);
+			});
+		}
+
+		if ( !queue.length ) {
+			jQuery.removeData( elem, type + "queue", true );
+		}
+	}
+});
+
+jQuery.fn.extend({
+	queue: function( type, data ) {
+		if ( typeof type !== "string" ) {
+			data = type;
+			type = "fx";
+		}
+
+		if ( data === undefined ) {
+			return jQuery.queue( this[0], type );
+		}
+		return this.each(function( i ) {
+			var queue = jQuery.queue( this, type, data );
+
+			if ( type === "fx" && queue[0] !== "inprogress" ) {
+				jQuery.dequeue( this, type );
+			}
+		});
+	},
+	dequeue: function( type ) {
+		return this.each(function() {
+			jQuery.dequeue( this, type );
+		});
+	},
+
+	// Based off of the plugin by Clint Helfers, with permission.
+	// http://blindsignals.com/index.php/2009/07/jquery-delay/
+	delay: function( time, type ) {
+		time = jQuery.fx ? jQuery.fx.speeds[time] || time : time;
+		type = type || "fx";
+
+		return this.queue( type, function() {
+			var elem = this;
+			setTimeout(function() {
+				jQuery.dequeue( elem, type );
+			}, time );
+		});
+	},
+
+	clearQueue: function( type ) {
+		return this.queue( type || "fx", [] );
+	}
+});
+
+
+
+
+var rclass = /[\n\t\r]/g,
+	rspaces = /\s+/,
+	rreturn = /\r/g,
+	rspecialurl = /^(?:href|src|style)$/,
+	rtype = /^(?:button|input)$/i,
+	rfocusable = /^(?:button|input|object|select|textarea)$/i,
+	rclickable = /^a(?:rea)?$/i,
+	rradiocheck = /^(?:radio|checkbox)$/i;
+
+jQuery.props = {
+	"for": "htmlFor",
+	"class": "className",
+	readonly: "readOnly",
+	maxlength: "maxLength",
+	cellspacing: "cellSpacing",
+	rowspan: "rowSpan",
+	colspan: "colSpan",
+	tabindex: "tabIndex",
+	usemap: "useMap",
+	frameborder: "frameBorder"
+};
+
+jQuery.fn.extend({
+	attr: function( name, value ) {
+		return jQuery.access( this, name, value, true, jQuery.attr );
+	},
+
+	removeAttr: function( name, fn ) {
+		return this.each(function(){
+			jQuery.attr( this, name, "" );
+			if ( this.nodeType === 1 ) {
+				this.removeAttribute( name );
+			}
+		});
+	},
+
+	addClass: function( value ) {
+		if ( jQuery.isFunction(value) ) {
+			return this.each(function(i) {
+				var self = jQuery(this);
+				self.addClass( value.call(this, i, self.attr("class")) );
+			});
+		}
+
+		if ( value && typeof value === "string" ) {
+			var classNames = (value || "").split( rspaces );
+
+			for ( var i = 0, l = this.length; i < l; i++ ) {
+				var elem = this[i];
+
+				if ( elem.nodeType === 1 ) {
+					if ( !elem.className ) {
+						elem.className = value;
+
+					} else {
+						var className = " " + elem.className + " ",
+							setClass = elem.className;
+
+						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
+							if ( className.indexOf( " " + classNames[c] + " " ) < 0 ) {
+								setClass += " " + classNames[c];
+							}
+						}
+						elem.className = jQuery.trim( setClass );
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	removeClass: function( value ) {
+		if ( jQuery.isFunction(value) ) {
+			return this.each(function(i) {
+				var self = jQuery(this);
+				self.removeClass( value.call(this, i, self.attr("class")) );
+			});
+		}
+
+		if ( (value && typeof value === "string") || value === undefined ) {
+			var classNames = (value || "").split( rspaces );
+
+			for ( var i = 0, l = this.length; i < l; i++ ) {
+				var elem = this[i];
+
+				if ( elem.nodeType === 1 && elem.className ) {
+					if ( value ) {
+						var className = (" " + elem.className + " ").replace(rclass, " ");
+						for ( var c = 0, cl = classNames.length; c < cl; c++ ) {
+							className = className.replace(" " + classNames[c] + " ", " ");
+						}
+						elem.className = jQuery.trim( className );
+
+					} else {
+						elem.className = "";
+					}
+				}
+			}
+		}
+
+		return this;
+	},
+
+	toggleClass: function( value, stateVal ) {
+		var type = typeof value,
+			isBool = typeof stateVal === "boolean";
+
+		if ( jQuery.isFunction( value ) ) {
+			return this.each(function(i) {
+				var self = jQuery(this);
+				self.toggleClass( value.call(this, i, self.attr("class"), stateVal), stateVal );
+			});
+		}
+
+		return this.each(function() {
+			if ( type === "string" ) {
+				// toggle individual class names
+				var className,
+					i = 0,
+					self = jQuery( this ),
+					state = stateVal,
+					classNames = value.split( rspaces );
+
+				while ( (className = classNames[ i++ ]) ) {
+					// check each className given, space seperated list
+					state = isBool ? state : !self.hasClass( className );
+					self[ state ? "addClass" : "removeClass" ]( className );
+				}
+
+			} else if ( type === "undefined" || type === "boolean" ) {
+				if ( this.className ) {
+					// store className if set
+					jQuery._data( this, "__className__", this.className );
+				}
+
+				// toggle whole className
+				this.className = this.className || value === false ? "" : jQuery._data( this, \
"__className__" ) || ""; +			}
+		});
+	},
+
+	hasClass: function( selector ) {
+		var className = " " + selector + " ";
+		for ( var i = 0, l = this.length; i < l; i++ ) {
+			if ( (" " + this[i].className + " ").replace(rclass, " ").indexOf( className ) > \
-1 ) { +				return true;
+			}
+		}
+
+		return false;
+	},
+
+	val: function( value ) {
+		if ( !arguments.length ) {
+			var elem = this[0];
+
+			if ( elem ) {
+				if ( jQuery.nodeName( elem, "option" ) ) {
+					// attributes.value is undefined in Blackberry 4.7 but
+					// uses .value. See #6932
+					var val = elem.attributes.value;
+					return !val || val.specified ? elem.value : elem.text;
+				}
+
+				// We need to handle select boxes special
+				if ( jQuery.nodeName( elem, "select" ) ) {
+					var index = elem.selectedIndex,
+						values = [],
+						options = elem.options,
+						one = elem.type === "select-one";
+
+					// Nothing was selected
+					if ( index < 0 ) {
+						return null;
+					}
+
+					// Loop through all the selected options
+					for ( var i = one ? index : 0, max = one ? index + 1 : options.length; i < max; \
i++ ) { +						var option = options[ i ];
+
+						// Don't return options that are disabled or in a disabled optgroup
+						if ( option.selected && (jQuery.support.optDisabled ? !option.disabled : \
option.getAttribute("disabled") === null) && +								(!option.parentNode.disabled || \
!jQuery.nodeName( option.parentNode, "optgroup" )) ) { +
+							// Get the specific value for the option
+							value = jQuery(option).val();
+
+							// We don't need an array for one selects
+							if ( one ) {
+								return value;
+							}
+
+							// Multi-Selects return an array
+							values.push( value );
+						}
+					}
+
+					// Fixes Bug #2551 -- select.val() broken in IE after form.reset()
+					if ( one && !values.length && options.length ) {
+						return jQuery( options[ index ] ).val();
+					}
+
+					return values;
+				}
+
+				// Handle the case where in Webkit "" is returned instead of "on" if a value \
isn't specified +				if ( rradiocheck.test( elem.type ) && !jQuery.support.checkOn ) \
{ +					return elem.getAttribute("value") === null ? "on" : elem.value;
+				}
+
+				// Everything else, we just grab the value
+				return (elem.value || "").replace(rreturn, "");
+
+			}
+
+			return undefined;
+		}
+
+		var isFunction = jQuery.isFunction(value);
+
+		return this.each(function(i) {
+			var self = jQuery(this), val = value;
+
+			if ( this.nodeType !== 1 ) {
+				return;
+			}
+
+			if ( isFunction ) {
+				val = value.call(this, i, self.val());
+			}
+
+			// Treat null/undefined as ""; convert numbers to string
+			if ( val == null ) {
+				val = "";
+			} else if ( typeof val === "number" ) {
+				val += "";
+			} else if ( jQuery.isArray(val) ) {
+				val = jQuery.map(val, function (value) {
+					return value == null ? "" : value + "";
+				});
+			}
+
+			if ( jQuery.isArray(val) && rradiocheck.test( this.type ) ) {
+				this.checked = jQuery.inArray( self.val(), val ) >= 0;
+
+			} else if ( jQuery.nodeName( this, "select" ) ) {
+				var values = jQuery.makeArray(val);
+
+				jQuery( "option", this ).each(function() {
+					this.selected = jQuery.inArray( jQuery(this).val(), values ) >= 0;
+				});
+
+				if ( !values.length ) {
+					this.selectedIndex = -1;
+				}
+
+			} else {
+				this.value = val;
+			}
+		});
+	}
+});
+
+jQuery.extend({
+	attrFn: {
+		val: true,
+		css: true,
+		html: true,
+		text: true,
+		data: true,
+		width: true,
+		height: true,
+		offset: true
+	},
+
+	attr: function( elem, name, value, pass ) {
+		// don't get/set attributes on text, comment and attribute nodes
+		if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 || elem.nodeType === 2 ) \
{ +			return undefined;
+		}
+
+		if ( pass && name in jQuery.attrFn ) {
+			return jQuery(elem)[name](value);
+		}
+
+		var notxml = elem.nodeType !== 1 || !jQuery.isXMLDoc( elem ),
+			// Whether we are setting (or getting)
+			set = value !== undefined;
+
+		// Try to normalize/fix the name
+		name = notxml && jQuery.props[ name ] || name;
+
+		// Only do all the following if this is a node (faster for style)
+		if ( elem.nodeType === 1 ) {
+			// These attributes require special treatment
+			var special = rspecialurl.test( name );
+
+			// Safari mis-reports the default selected property of an option
+			// Accessing the parent's selectedIndex property fixes it
+			if ( name === "selected" && !jQuery.support.optSelected ) {
+				var parent = elem.parentNode;
+				if ( parent ) {
+					parent.selectedIndex;
+
+					// Make sure that it also works with optgroups, see #5701
+					if ( parent.parentNode ) {
+						parent.parentNode.selectedIndex;
+					}
+				}
+			}
+
+			// If applicable, access the attribute via the DOM 0 way
+			// 'in' checks fail in Blackberry 4.7 #6931
+			if ( (name in elem || elem[ name ] !== undefined) && notxml && !special ) {
+				if ( set ) {
+					// We can't allow the type property to be changed (since it causes problems in \
IE) +					if ( name === "type" && rtype.test( elem.nodeName ) && elem.parentNode ) {
+						jQuery.error( "type property can't be changed" );
+					}
+
+					if ( value === null ) {
+						if ( elem.nodeType === 1 ) {
+							elem.removeAttribute( name );
+						}
+
+					} else {
+						elem[ name ] = value;
+					}
+				}
+
+				// browsers index elements by id/name on forms, give priority to attributes.
+				if ( jQuery.nodeName( elem, "form" ) && elem.getAttributeNode(name) ) {
+					return elem.getAttributeNode( name ).nodeValue;
+				}
+
+				// elem.tabIndex doesn't always return the correct value when it hasn't been \
explicitly set +				// \
http://fluidproject.org/blog/2008/01/09/getting-setting-and-removing-tabindex-values-with-javascript/
 +				if ( name === "tabIndex" ) {
+					var attributeNode = elem.getAttributeNode( "tabIndex" );
+
+					return attributeNode && attributeNode.specified ?
+						attributeNode.value :
+						rfocusable.test( elem.nodeName ) || rclickable.test( elem.nodeName ) && \
elem.href ? +							0 :
+							undefined;
+				}
+
+				return elem[ name ];
+			}
+
+			if ( !jQuery.support.style && notxml && name === "style" ) {
+				if ( set ) {
+					elem.style.cssText = "" + value;
+				}
+
+				return elem.style.cssText;
+			}
+
+			if ( set ) {
+				// convert the value to a string (all browsers do this but IE) see #1070
+				elem.setAttribute( name, "" + value );
+			}
+
+			// Ensure that missing attributes return undefined
+			// Blackberry 4.7 returns "" from getAttribute #6938
+			if ( !elem.attributes[ name ] && (elem.hasAttribute && !elem.hasAttribute( name \
)) ) { +				return undefined;
+			}
+
+			var attr = !jQuery.support.hrefNormalized && notxml && special ?
+					// Some attributes require a special call on IE
+					elem.getAttribute( name, 2 ) :
+					elem.getAttribute( name );
+
+			// Non-existent attributes return null, we normalize to undefined
+			return attr === null ? undefined : attr;
+		}
+		// Handle everything which isn't a DOM element node
+		if ( set ) {
+			elem[ name ] = value;
+		}
+		return elem[ name ];
+	}
+});
+
+
+
+
+var rnamespaces = /\.(.*)$/,
+	rformElems = /^(?:textarea|input|select)$/i,
+	rperiod = /\./g,
+	rspace = / /g,
+	rescape = /[^\w\s.|`]/g,
+	fcleanup = function( nm ) {
+		return nm.replace(rescape, "\\$&");
+	};
+
+/*
+ * A number of helper functions used for managing events.
+ * Many of the ideas behind this code originated from
+ * Dean Edwards' addEvent library.
+ */
+jQuery.event = {
+
+	// Bind an event to an element
+	// Original by Dean Edwards
+	add: function( elem, types, handler, data ) {
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		// TODO :: Use a try/catch until it's safe to pull this out (likely 1.6)
+		// Minor release fix for bug #8018
+		try {
+			// For whatever reason, IE has trouble passing the window object
+			// around, causing it to be cloned in the process
+			if ( jQuery.isWindow( elem ) && ( elem !== window && !elem.frameElement ) ) {
+				elem = window;
+			}
+		}
+		catch ( e ) {}
+
+		if ( handler === false ) {
+			handler = returnFalse;
+		} else if ( !handler ) {
+			// Fixes bug #7229. Fix recommended by jdalton
+			return;
+		}
+
+		var handleObjIn, handleObj;
+
+		if ( handler.handler ) {
+			handleObjIn = handler;
+			handler = handleObjIn.handler;
+		}
+
+		// Make sure that the function being executed has a unique ID
+		if ( !handler.guid ) {
+			handler.guid = jQuery.guid++;
+		}
+
+		// Init the element's event structure
+		var elemData = jQuery._data( elem );
+
+		// If no elemData is found then we must be trying to bind to one of the
+		// banned noData elements
+		if ( !elemData ) {
+			return;
+		}
+
+		var events = elemData.events,
+			eventHandle = elemData.handle;
+
+		if ( !events ) {
+			elemData.events = events = {};
+		}
+
+		if ( !eventHandle ) {
+			elemData.handle = eventHandle = function() {
+				// Handle the second event of a trigger and when
+				// an event is called after a page has unloaded
+				return typeof jQuery !== "undefined" && !jQuery.event.triggered ?
+					jQuery.event.handle.apply( eventHandle.elem, arguments ) :
+					undefined;
+			};
+		}
+
+		// Add elem as a property of the handle function
+		// This is to prevent a memory leak with non-native events in IE.
+		eventHandle.elem = elem;
+
+		// Handle multiple events separated by a space
+		// jQuery(...).bind("mouseover mouseout", fn);
+		types = types.split(" ");
+
+		var type, i = 0, namespaces;
+
+		while ( (type = types[ i++ ]) ) {
+			handleObj = handleObjIn ?
+				jQuery.extend({}, handleObjIn) :
+				{ handler: handler, data: data };
+
+			// Namespaced event handlers
+			if ( type.indexOf(".") > -1 ) {
+				namespaces = type.split(".");
+				type = namespaces.shift();
+				handleObj.namespace = namespaces.slice(0).sort().join(".");
+
+			} else {
+				namespaces = [];
+				handleObj.namespace = "";
+			}
+
+			handleObj.type = type;
+			if ( !handleObj.guid ) {
+				handleObj.guid = handler.guid;
+			}
+
+			// Get the current list of functions bound to this event
+			var handlers = events[ type ],
+				special = jQuery.event.special[ type ] || {};
+
+			// Init the event handler queue
+			if ( !handlers ) {
+				handlers = events[ type ] = [];
+
+				// Check for a special event handler
+				// Only use addEventListener/attachEvent if the special
+				// events handler returns false
+				if ( !special.setup || special.setup.call( elem, data, namespaces, eventHandle ) \
=== false ) { +					// Bind the global event handler to the element
+					if ( elem.addEventListener ) {
+						elem.addEventListener( type, eventHandle, false );
+
+					} else if ( elem.attachEvent ) {
+						elem.attachEvent( "on" + type, eventHandle );
+					}
+				}
+			}
+
+			if ( special.add ) {
+				special.add.call( elem, handleObj );
+
+				if ( !handleObj.handler.guid ) {
+					handleObj.handler.guid = handler.guid;
+				}
+			}
+
+			// Add the function to the element's handler list
+			handlers.push( handleObj );
+
+			// Keep track of which events have been used, for global triggering
+			jQuery.event.global[ type ] = true;
+		}
+
+		// Nullify elem to prevent memory leaks in IE
+		elem = null;
+	},
+
+	global: {},
+
+	// Detach an event or set of events from an element
+	remove: function( elem, types, handler, pos ) {
+		// don't do events on text and comment nodes
+		if ( elem.nodeType === 3 || elem.nodeType === 8 ) {
+			return;
+		}
+
+		if ( handler === false ) {
+			handler = returnFalse;
+		}
+
+		var ret, type, fn, j, i = 0, all, namespaces, namespace, special, eventType, \
handleObj, origType, +			elemData = jQuery.hasData( elem ) && jQuery._data( elem ),
+			events = elemData && elemData.events;
+
+		if ( !elemData || !events ) {
+			return;
+		}
+
+		// types is actually an event object here
+		if ( types && types.type ) {
+			handler = types.handler;
+			types = types.type;
+		}
+
+		// Unbind all events for the element
+		if ( !types || typeof types === "string" && types.charAt(0) === "." ) {
+			types = types || "";
+
+			for ( type in events ) {
+				jQuery.event.remove( elem, type + types );
+			}
+
+			return;
+		}
+
+		// Handle multiple events separated by a space
+		// jQuery(...).unbind("mouseover mouseout", fn);
+		types = types.split(" ");
+
+		while ( (type = types[ i++ ]) ) {
+			origType = type;
+			handleObj = null;
+			all = type.indexOf(".") < 0;
+			namespaces = [];
+
+			if ( !all ) {
+				// Namespaced event handlers
+				namespaces = type.split(".");
+				type = namespaces.shift();
+
+				namespace = new RegExp("(^|\\.)" +
+					jQuery.map( namespaces.slice(0).sort(), fcleanup ).join("\\.(?:.*\\.)?") + \
"(\\.|$)"); +			}
+
+			eventType = events[ type ];
+
+			if ( !eventType ) {
+				continue;
+			}
+
+			if ( !handler ) {
+				for ( j = 0; j < eventType.length; j++ ) {
+					handleObj = eventType[ j ];
+
+					if ( all || namespace.test( handleObj.namespace ) ) {
+						jQuery.event.remove( elem, origType, handleObj.handler, j );
+						eventType.splice( j--, 1 );
+					}
+				}
+
+				continue;
+			}
+
+			special = jQuery.event.special[ type ] || {};
+
+			for ( j = pos || 0; j < eventType.length; j++ ) {
+				handleObj = eventType[ j ];
+
+				if ( handler.guid === handleObj.guid ) {
+					// remove the given handler for the given type
+					if ( all || namespace.test( handleObj.namespace ) ) {
+						if ( pos == null ) {
+							eventType.splice( j--, 1 );
+						}
+
+						if ( special.remove ) {
+							special.remove.call( elem, handleObj );
+						}
+					}
+
+					if ( pos != null ) {
+						break;
+					}
+				}
+			}
+
+			// remove generic event handler if no more handlers exist
+			if ( eventType.length === 0 || pos != null && eventType.length === 1 ) {
+				if ( !special.teardown || special.teardown.call( elem, namespaces ) === false ) \
{ +					jQuery.removeEvent( elem, type, elemData.handle );
+				}
+
+				ret = null;
+				delete events[ type ];
+			}
+		}
+
+		// Remove the expando if it's no longer used
+		if ( jQuery.isEmptyObject( events ) ) {
+			var handle = elemData.handle;
+			if ( handle ) {
+				handle.elem = null;
+			}
+
+			delete elemData.events;
+			delete elemData.handle;
+
+			if ( jQuery.isEmptyObject( elemData ) ) {
+				jQuery.removeData( elem, undefined, true );
+			}
+		}
+	},
+
+	// bubbling is internal
+	trigger: function( event, data, elem /*, bubbling */ ) {
+		// Event object or event type
+		var type = event.type || event,
+			bubbling = arguments[3];
+
+		if ( !bubbling ) {
+			event = typeof event === "object" ?
+				// jQuery.Event object
+				event[ jQuery.expando ] ? event :
+				// Object literal
+				jQuery.extend( jQuery.Event(type), event ) :
+				// Just the event type (string)
+				jQuery.Event(type);
+
+			if ( type.indexOf("!") >= 0 ) {
+				event.type = type = type.slice(0, -1);
+				event.exclusive = true;
+			}
+
+			// Handle a global trigger
+			if ( !elem ) {
+				// Don't bubble custom events when global (to avoid too much overhead)
+				event.stopPropagation();
+
+				// Only trigger if we've ever bound an event for it
+				if ( jQuery.event.global[ type ] ) {
+					// XXX This code smells terrible. event.js should not be directly
+					// inspecting the data cache
+					jQuery.each( jQuery.cache, function() {
+						// internalKey variable is just used to make it easier to find
+						// and potentially change this stuff later; currently it just
+						// points to jQuery.expando
+						var internalKey = jQuery.expando,
+							internalCache = this[ internalKey ];
+						if ( internalCache && internalCache.events && internalCache.events[ type ] ) {
+							jQuery.event.trigger( event, data, internalCache.handle.elem );
+						}
+					});
+				}
+			}
+
+			// Handle triggering a single element
+
+			// don't do events on text and comment nodes
+			if ( !elem || elem.nodeType === 3 || elem.nodeType === 8 ) {
+				return undefined;
+			}
+
+			// Clean up in case it is reused
+			event.result = undefined;
+			event.target = elem;
+
+			// Clone the incoming data, if any
+			data = jQuery.makeArray( data );
+			data.unshift( event );
+		}
+
+		event.currentTarget = elem;
+
+		// Trigger the event, it is assumed that "handle" is a function
+		var handle = jQuery._data( elem, "handle" );
+
+		if ( handle ) {
+			handle.apply( elem, data );
+		}
+
+		var parent = elem.parentNode || elem.ownerDocument;
+
+		// Trigger an inline bound script
+		try {
+			if ( !(elem && elem.nodeName && jQuery.noData[elem.nodeName.toLowerCase()]) ) {
+				if ( elem[ "on" + type ] && elem[ "on" + type ].apply( elem, data ) === false ) \
{ +					event.result = false;
+					event.preventDefault();
+				}
+			}
+
+		// prevent IE from throwing an error for some elements with some event types, see \
#3533 +		} catch (inlineError) {}
+
+		if ( !event.isPropagationStopped() && parent ) {
+			jQuery.event.trigger( event, data, parent, true );
+
+		} else if ( !event.isDefaultPrevented() ) {
+			var old,
+				target = event.target,
+				targetType = type.replace( rnamespaces, "" ),
+				isClick = jQuery.nodeName( target, "a" ) && targetType === "click",
+				special = jQuery.event.special[ targetType ] || {};
+
+			if ( (!special._default || special._default.call( elem, event ) === false) &&
+				!isClick && !(target && target.nodeName && \
jQuery.noData[target.nodeName.toLowerCase()]) ) { +
+				try {
+					if ( target[ targetType ] ) {
+						// Make sure that we don't accidentally re-trigger the onFOO events
+						old = target[ "on" + targetType ];
+
+						if ( old ) {
+							target[ "on" + targetType ] = null;
+						}
+
+						jQuery.event.triggered = true;
+						target[ targetType ]();
+					}
+
+				// prevent IE from throwing an error for some elements with some event types, \
see #3533 +				} catch (triggerError) {}
+
+				if ( old ) {
+					target[ "on" + targetType ] = old;
+				}
+
+				jQuery.event.triggered = false;
+			}
+		}
+	},
+
+	handle: function( event ) {
+		var all, handlers, namespaces, namespace_re, events,
+			namespace_sort = [],
+			args = jQuery.makeArray( arguments );
+
+		event = args[0] = jQuery.event.fix( event || window.event );
+		event.currentTarget = this;
+
+		// Namespaced event handlers
+		all = event.type.indexOf(".") < 0 && !event.exclusive;
+
+		if ( !all ) {
+			namespaces = event.type.split(".");
+			event.type = namespaces.shift();
+			namespace_sort = namespaces.slice(0).sort();
+			namespace_re = new RegExp("(^|\\.)" + namespace_sort.join("\\.(?:.*\\.)?") + \
"(\\.|$)"); +		}
+
+		event.namespace = event.namespace || namespace_sort.join(".");
+
+		events = jQuery._data(this, "events");
+
+		handlers = (events || {})[ event.type ];
+
+		if ( events && handlers ) {
+			// Clone the handlers to prevent manipulation
+			handlers = handlers.slice(0);
+
+			for ( var j = 0, l = handlers.length; j < l; j++ ) {
+				var handleObj = handlers[ j ];
+
+				// Filter the functions by class
+				if ( all || namespace_re.test( handleObj.namespace ) ) {
+					// Pass in a reference to the handler function itself
+					// So that we can later remove it
+					event.handler = handleObj.handler;
+					event.data = handleObj.data;
+					event.handleObj = handleObj;
+
+					var ret = handleObj.handler.apply( this, args );
+
+					if ( ret !== undefined ) {
+						event.result = ret;
+						if ( ret === false ) {
+							event.preventDefault();
+							event.stopPropagation();
+						}
+					}
+
+					if ( event.isImmediatePropagationStopped() ) {
+						break;
+					}
+				}
+			}
+		}
+
+		return event.result;
+	},
+
+	props: "altKey attrChange attrName bubbles button cancelable charCode clientX \
clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode \
layerX layerY metaKey newValue offsetX offsetY pageX pageY prevValue relatedNode \
relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta \
which".split(" "), +
+	fix: function( event ) {
+		if ( event[ jQuery.expando ] ) {
+			return event;
+		}
+
+		// store a copy of the original event object
+		// and "clone" to set read-only properties
+		var originalEvent = event;
+		event = jQuery.Event( originalEvent );
+
+		for ( var i = this.props.length, prop; i; ) {
+			prop = this.props[ --i ];
+			event[ prop ] = originalEvent[ prop ];
+		}
+
+		// Fix target property, if necessary
+		if ( !event.target ) {
+			// Fixes #1925 where srcElement might not be defined either
+			event.target = event.srcElement || document;
+		}
+
+		// check if target is a textnode (safari)
+		if ( event.target.nodeType === 3 ) {
+			event.target = event.target.parentNode;
+		}
+
+		// Add relatedTarget, if necessary
+		if ( !event.relatedTarget && event.fromElement ) {
+			event.relatedTarget = event.fromElement === event.target ? event.toElement : \
event.fromElement; +		}
+
+		// Calculate pageX/Y if missing and clientX/Y available
+		if ( event.pageX == null && event.clientX != null ) {
+			var doc = document.documentElement,
+				body = document.body;
+
+			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft \
|| 0) - (doc && doc.clientLeft || body && body.clientLeft || 0); +			event.pageY = \
event.clientY + (doc && doc.scrollTop  || body && body.scrollTop  || 0) - (doc && \
doc.clientTop  || body && body.clientTop  || 0); +		}
+
+		// Add which for key events
+		if ( event.which == null && (event.charCode != null || event.keyCode != null) ) {
+			event.which = event.charCode != null ? event.charCode : event.keyCode;
+		}
+
+		// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)
+		if ( !event.metaKey && event.ctrlKey ) {
+			event.metaKey = event.ctrlKey;
+		}
+
+		// Add which for click: 1 === left; 2 === middle; 3 === right
+		// Note: button is not normalized, so don't use it
+		if ( !event.which && event.button !== undefined ) {
+			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 \
? 2 : 0 ) )); +		}
+
+		return event;
+	},
+
+	// Deprecated, use jQuery.guid instead
+	guid: 1E8,
+
+	// Deprecated, use jQuery.proxy instead
+	proxy: jQuery.proxy,
+
+	special: {
+		ready: {
+			// Make sure the ready event is setup
+			setup: jQuery.bindReady,
+			teardown: jQuery.noop
+		},
+
+		live: {
+			add: function( handleObj ) {
+				jQuery.event.add( this,
+					liveConvert( handleObj.origType, handleObj.selector ),
+					jQuery.extend({}, handleObj, {handler: liveHandler, guid: \
handleObj.handler.guid}) ); +			},
+
+			remove: function( handleObj ) {
+				jQuery.event.remove( this, liveConvert( handleObj.origType, handleObj.selector \
), handleObj ); +			}
+		},
+
+		beforeunload: {
+			setup: function( data, namespaces, eventHandle ) {
+				// We only want to do this special case on windows
+				if ( jQuery.isWindow( this ) ) {
+					this.onbeforeunload = eventHandle;
+				}
+			},
+
+			teardown: function( namespaces, eventHandle ) {
+				if ( this.onbeforeunload === eventHandle ) {
+					this.onbeforeunload = null;
+				}
+			}
+		}
+	}
+};
+
+jQuery.removeEvent = document.removeEventListener ?
+	function( elem, type, handle ) {
+		if ( elem.removeEventListener ) {
+			elem.removeEventListener( type, handle, false );
+		}
+	} :
+	function( elem, type, handle ) {
+		if ( elem.detachEvent ) {
+			elem.detachEvent( "on" + type, handle );
+		}
+	};
+
+jQuery.Event = function( src ) {
+	// Allow instantiation without the 'new' keyword
+	if ( !this.preventDefault ) {
+		return new jQuery.Event( src );
+	}
+
+	// Event object
+	if ( src && src.type ) {
+		this.originalEvent = src;
+		this.type = src.type;
+
+		// Events bubbling up the document may have been marked as prevented
+		// by a handler lower down the tree; reflect the correct value.
+		this.isDefaultPrevented = (src.defaultPrevented || src.returnValue === false ||
+			src.getPreventDefault && src.getPreventDefault()) ? returnTrue : returnFalse;
+
+	// Event type
+	} else {
+		this.type = src;
+	}
+
+	// timeStamp is buggy for some events on Firefox(#3843)
+	// So we won't rely on the native value
+	this.timeStamp = jQuery.now();
+
+	// Mark it as fixed
+	this[ jQuery.expando ] = true;
+};
+
+function returnFalse() {
+	return false;
+}
+function returnTrue() {
+	return true;
+}
+
+// jQuery.Event is based on DOM3 Events as specified by the ECMAScript Language \
Binding +// http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
 +jQuery.Event.prototype = {
+	preventDefault: function() {
+		this.isDefaultPrevented = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+
+		// if preventDefault exists run it on the original event
+		if ( e.preventDefault ) {
+			e.preventDefault();
+
+		// otherwise set the returnValue property of the original event to false (IE)
+		} else {
+			e.returnValue = false;
+		}
+	},
+	stopPropagation: function() {
+		this.isPropagationStopped = returnTrue;
+
+		var e = this.originalEvent;
+		if ( !e ) {
+			return;
+		}
+		// if stopPropagation exists run it on the original event
+		if ( e.stopPropagation ) {
+			e.stopPropagation();
+		}
+		// otherwise set the cancelBubble property of the original event to true (IE)
+		e.cancelBubble = true;
+	},
+	stopImmediatePropagation: function() {
+		this.isImmediatePropagationStopped = returnTrue;
+		this.stopPropagation();
+	},
+	isDefaultPrevented: returnFalse,
+	isPropagationStopped: returnFalse,
+	isImmediatePropagationStopped: returnFalse
+};
+
+// Checks if an event happened on an element within another element
+// Used in jQuery.event.special.mouseenter and mouseleave handlers
+var withinElement = function( event ) {
+	// Check if mouse(over|out) are still within the same parent element
+	var parent = event.relatedTarget;
+
+	// Firefox sometimes assigns relatedTarget a XUL element
+	// which we cannot access the parentNode property of
+	try {
+
+		// Chrome does something similar, the parentNode property
+		// can be accessed but is null.
+		if ( parent !== document && !parent.parentNode ) {
+			return;
+		}
+		// Traverse up the tree
+		while ( parent && parent !== this ) {
+			parent = parent.parentNode;
+		}
+
+		if ( parent !== this ) {
+			// set the correct event type
+			event.type = event.data;
+
+			// handle event if we actually just moused on to a non sub-element
+			jQuery.event.handle.apply( this, arguments );
+		}
+
+	// assuming we've left the element since we most likely mousedover a xul element
+	} catch(e) { }
+},
+
+// In case of event delegation, we only need to rename the event.type,
+// liveHandler will take care of the rest.
+delegate = function( event ) {
+	event.type = event.data;
+	jQuery.event.handle.apply( this, arguments );
+};
+
+// Create mouseenter and mouseleave events
+jQuery.each({
+	mouseenter: "mouseover",
+	mouseleave: "mouseout"
+}, function( orig, fix ) {
+	jQuery.event.special[ orig ] = {
+		setup: function( data ) {
+			jQuery.event.add( this, fix, data && data.selector ? delegate : withinElement, \
orig ); +		},
+		teardown: function( data ) {
+			jQuery.event.remove( this, fix, data && data.selector ? delegate : withinElement \
); +		}
+	};
+});
+
+// submit delegation
+if ( !jQuery.support.submitBubbles ) {
+
+	jQuery.event.special.submit = {
+		setup: function( data, namespaces ) {
+			if ( this.nodeName && this.nodeName.toLowerCase() !== "form" ) {
+				jQuery.event.add(this, "click.specialSubmit", function( e ) {
+					var elem = e.target,
+						type = elem.type;
+
+					if ( (type === "submit" || type === "image") && jQuery( elem \
).closest("form").length ) { +						trigger( "submit", this, arguments );
+					}
+				});
+
+				jQuery.event.add(this, "keypress.specialSubmit", function( e ) {
+					var elem = e.target,
+						type = elem.type;
+
+					if ( (type === "text" || type === "password") && jQuery( elem \
).closest("form").length && e.keyCode === 13 ) { +						trigger( "submit", this, \
arguments ); +					}
+				});
+
+			} else {
+				return false;
+			}
+		},
+
+		teardown: function( namespaces ) {
+			jQuery.event.remove( this, ".specialSubmit" );
+		}
+	};
+
+}
+
+// change delegation, happens here so we have bind.
+if ( !jQuery.support.changeBubbles ) {
+
+	var changeFilters,
+
+	getVal = function( elem ) {
+		var type = elem.type, val = elem.value;
+
+		if ( type === "radio" || type === "checkbox" ) {
+			val = elem.checked;
+
+		} else if ( type === "select-multiple" ) {
+			val = elem.selectedIndex > -1 ?
+				jQuery.map( elem.options, function( elem ) {
+					return elem.selected;
+				}).join("-") :
+				"";
+
+		} else if ( elem.nodeName.toLowerCase() === "select" ) {
+			val = elem.selectedIndex;
+		}
+
+		return val;
+	},
+
+	testChange = function testChange( e ) {
+		var elem = e.target, data, val;
+
+		if ( !rformElems.test( elem.nodeName ) || elem.readOnly ) {
+			return;
+		}
+
+		data = jQuery._data( elem, "_change_data" );
+		val = getVal(elem);
+
+		// the current data will be also retrieved by beforeactivate
+		if ( e.type !== "focusout" || elem.type !== "radio" ) {
+			jQuery._data( elem, "_change_data", val );
+		}
+
+		if ( data === undefined || val === data ) {
+			return;
+		}
+
+		if ( data != null || val ) {
+			e.type = "change";
+			e.liveFired = undefined;
+			jQuery.event.trigger( e, arguments[1], elem );
+		}
+	};
+
+	jQuery.event.special.change = {
+		filters: {
+			focusout: testChange,
+
+			beforedeactivate: testChange,
+
+			click: function( e ) {
+				var elem = e.target, type = elem.type;
+
+				if ( type === "radio" || type === "checkbox" || elem.nodeName.toLowerCase() === \
"select" ) { +					testChange.call( this, e );
+				}
+			},
+
+			// Change has to be called before submit
+			// Keydown will be called before keypress, which is used in submit-event \
delegation +			keydown: function( e ) {
+				var elem = e.target, type = elem.type;
+
+				if ( (e.keyCode === 13 && elem.nodeName.toLowerCase() !== "textarea") ||
+					(e.keyCode === 32 && (type === "checkbox" || type === "radio")) ||
+					type === "select-multiple" ) {
+					testChange.call( this, e );
+				}
+			},
+
+			// Beforeactivate happens also before the previous element is blurred
+			// with this event you can't trigger a change event, but you can store
+			// information
+			beforeactivate: function( e ) {
+				var elem = e.target;
+				jQuery._data( elem, "_change_data", getVal(elem) );
+			}
+		},
+
+		setup: function( data, namespaces ) {
+			if ( this.type === "file" ) {
+				return false;
+			}
+
+			for ( var type in changeFilters ) {
+				jQuery.event.add( this, type + ".specialChange", changeFilters[type] );
+			}
+
+			return rformElems.test( this.nodeName );
+		},
+
+		teardown: function( namespaces ) {
+			jQuery.event.remove( this, ".specialChange" );
+
+			return rformElems.test( this.nodeName );
+		}
+	};
+
+	changeFilters = jQuery.event.special.change.filters;
+
+	// Handle when the input is .focus()'d
+	changeFilters.focus = changeFilters.beforeactivate;
+}
+
+function trigger( type, elem, args ) {
+	// Piggyback on a donor event to simulate a different one.
+	// Fake originalEvent to avoid donor's stopPropagation, but if the
+	// simulated event prevents default then we do the same on the donor.
+	// Don't pass args or remember liveFired; they apply to the donor event.
+	var event = jQuery.extend( {}, args[ 0 ] );
+	event.type = type;
+	event.originalEvent = {};
+	event.liveFired = undefined;
+	jQuery.event.handle.call( elem, event );
+	if ( event.isDefaultPrevented() ) {
+		args[ 0 ].preventDefault();
+	}
+}
+
+// Create "bubbling" focus and blur events
+if ( document.addEventListener ) {
+	jQuery.each({ focus: "focusin", blur: "focusout" }, function( orig, fix ) {
+		jQuery.event.special[ fix ] = {
+			setup: function() {
+				this.addEventListener( orig, handler, true );
+			},
+			teardown: function() {
+				this.removeEventListener( orig, handler, true );
+			}
+		};
+
+		function handler( e ) {
+			e = jQuery.event.fix( e );
+			e.type = fix;
+			return jQuery.event.handle.call( this, e );
+		}
+	});
+}
+
+jQuery.each(["bind", "one"], function( i, name ) {
+	jQuery.fn[ name ] = function( type, data, fn ) {
+		// Handle object literals
+		if ( typeof type === "object" ) {
+			for ( var key in type ) {
+				this[ name ](key, data, type[key], fn);
+			}
+			return this;
+		}
+
+		if ( jQuery.isFunction( data ) || data === false ) {
+			fn = data;
+			data = undefined;
+		}
+
+		var handler = name === "one" ? jQuery.proxy( fn, function( event ) {
+			jQuery( this ).unbind( event, handler );
+			return fn.apply( this, arguments );
+		}) : fn;
+
+		if ( type === "unload" && name !== "one" ) {
+			this.one( type, data, fn );
+
+		} else {
+			for ( var i = 0, l = this.length; i < l; i++ ) {
+				jQuery.event.add( this[i], type, handler, data );
+			}
+		}
+
+		return this;
+	};
+});
+
+jQuery.fn.extend({
+	unbind: function( type, fn ) {
+		// Handle object literals
+		if ( typeof type === "object" && !type.preventDefault ) {
+			for ( var key in type ) {
+				this.unbind(key, type[key]);
+			}
+
+		} else {
+			for ( var i = 0, l = this.length; i < l; i++ ) {
+				jQuery.event.remove( this[i], type, fn );
+			}
+		}
+
+		return this;
+	},
+
+	delegate: function( selector, types, data, fn ) {
+		return this.live( types, data, fn, selector );
+	},
+
+	undelegate: function( selector, types, fn ) {
+		if ( arguments.length === 0 ) {
+				return this.unbind( "live" );
+
+		} else {
+			return this.die( types, null, fn, selector );
+		}
+	},
+
+	trigger: function( type, data ) {
+		return this.each(function() {
+			jQuery.event.trigger( type, data, this );
+		});
+	},
+
+	triggerHandler: function( type, data ) {
+		if ( this[0] ) {
+			var event = jQuery.Event( type );
+			event.preventDefault();
+			event.stopPropagation();
+			jQuery.event.trigger( event, data, this[0] );
+			return event.result;
+		}
+	},
+
+	toggle: function( fn ) {
+		// Save reference to arguments for access in closure
+		var args = arguments,
+			i = 1;
+
+		// link all the functions, so any of them can unbind this click handler
+		while ( i < args.length ) {
+			jQuery.proxy( fn, args[ i++ ] );
+		}
+
+		return this.click( jQuery.proxy( fn, function( event ) {
+			// Figure out which function to execute
+			var lastToggle = ( jQuery._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
+			jQuery._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
+
+			// Make sure that clicks stop
+			event.preventDefault();
+
+			// and execute the function
+			return args[ lastToggle ].apply( this, arguments ) || false;
+		}));
+	},
+
+	hover: function( fnOver, fnOut ) {
+		return this.mouseenter( fnOver ).mouseleave( fnOut || fnOver );
+	}
+});
+
+var liveMap = {
+	focus: "focusin",
+	blur: "focusout",
+	mouseenter: "mouseover",
+	mouseleave: "mouseout"
+};
+
+jQuery.each(["live", "die"], function( i, name ) {
+	jQuery.fn[ name ] = function( types, data, fn, origSelector /* Internal Use Only */ \
) { +		var type, i = 0, match, namespaces, preType,
+			selector = origSelector || this.selector,
+			context = origSelector ? this : jQuery( this.context );
+
+		if ( typeof types === "object" && !types.preventDefault ) {
+			for ( var key in types ) {
+				context[ name ]( key, data, types[key], selector );
+			}
+
+			return this;
+		}
+
+		if ( jQuery.isFunction( data ) ) {
+			fn = data;
+			data = undefined;
+		}
+
+		types = (types || "").split(" ");
+
+		while ( (type = types[ i++ ]) != null ) {
+			match = rnamespaces.exec( type );
+			namespaces = "";
+
+			if ( match )  {
+				namespaces = match[0];
+				type = type.replace( rnamespaces, "" );
+			}
+
+			if ( type === "hover" ) {
+				types.push( "mouseenter" + namespaces, "mouseleave" + namespaces );
+				continue;
+			}
+
+			preType = type;
+
+			if ( type === "focus" || type === "blur" ) {
+				types.push( liveMap[ type ] + namespaces );
+				type = type + namespaces;
+
+			} else {
+				type = (liveMap[ type ] || type) + namespaces;
+			}
+
+			if ( name === "live" ) {
+				// bind live handler
+				for ( var j = 0, l = context.length; j < l; j++ ) {
+					jQuery.event.add( context[j], "live." + liveConvert( type, selector ),
+						{ data: data, selector: selector, handler: fn, origType: type, origHandler: \
fn, preType: preType } ); +				}
+
+			} else {
+				// unbind live handler
+				context.unbind( "live." + liveConvert( type, selector ), fn );
+			}
+		}
+
+		return this;
+	};
+});
+
+function liveHandler( event ) {
+	var stop, maxLevel, related, match, handleObj, elem, j, i, l, data, close, \
namespace, ret, +		elems = [],
+		selectors = [],
+		events = jQuery._data( this, "events" );
+
+	// Make sure we avoid non-left-click bubbling in Firefox (#3861) and disabled \
elements in IE (#6911) +	if ( event.liveFired === this || !events || !events.live || \
event.target.disabled || event.button && event.type === "click" ) { +		return;
+	}
+
+	if ( event.namespace ) {
+		namespace = new RegExp("(^|\\.)" + \
event.namespace.split(".").join("\\.(?:.*\\.)?") + "(\\.|$)"); +	}
+
+	event.liveFired = this;
+
+	var live = events.live.slice(0);
+
+	for ( j = 0; j < live.length; j++ ) {
+		handleObj = live[j];
+
+		if ( handleObj.origType.replace( rnamespaces, "" ) === event.type ) {
+			selectors.push( handleObj.selector );
+
+		} else {
+			live.splice( j--, 1 );
+		}
+	}
+
+	match = jQuery( event.target ).closest( selectors, event.currentTarget );
+
+	for ( i = 0, l = match.length; i < l; i++ ) {
+		close = match[i];
+
+		for ( j = 0; j < live.length; j++ ) {
+			handleObj = live[j];
+
+			if ( close.selector === handleObj.selector && (!namespace || namespace.test( \
handleObj.namespace )) && !close.elem.disabled ) { +				elem = close.elem;
+				related = null;
+
+				// Those two events require additional checking
+				if ( handleObj.preType === "mouseenter" || handleObj.preType === "mouseleave" ) \
{ +					event.type = handleObj.preType;
+					related = jQuery( event.relatedTarget ).closest( handleObj.selector )[0];
+				}
+
+				if ( !related || related !== elem ) {
+					elems.push({ elem: elem, handleObj: handleObj, level: close.level });
+				}
+			}
+		}
+	}
+
+	for ( i = 0, l = elems.length; i < l; i++ ) {
+		match = elems[i];
+
+		if ( maxLevel && match.level > maxLevel ) {
+			break;
+		}
+
+		event.currentTarget = match.elem;
+		event.data = match.handleObj.data;
+		event.handleObj = match.handleObj;
+
+		ret = match.handleObj.origHandler.apply( match.elem, arguments );
+
+		if ( ret === false || event.isPropagationStopped() ) {
+			maxLevel = match.level;
+
+			if ( ret === false ) {
+				stop = false;
+			}
+			if ( event.isImmediatePropagationStopped() ) {
+				break;
+			}
+		}
+	}
+
+	return stop;
+}
+
+function liveConvert( type, selector ) {
+	return (type && type !== "*" ? type + "." : "") + selector.replace(rperiod, \
"`").replace(rspace, "&"); +}
+
+jQuery.each( ("blur focus focusin focusout load resize scroll unload click dblclick \
" + +	"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave " +
+	"change select submit keydown keypress keyup error").split(" "), function( i, name \
) { +
+	// Handle event binding
+	jQuery.fn[ name ] = function( data, fn ) {
+		if ( fn == null ) {
+			fn = data;
+			data = null;
+		}
+
+		return arguments.length > 0 ?
+			this.bind( name, data, fn ) :
+			this.trigger( name );
+	};
+
+	if ( jQuery.attrFn ) {
+		jQuery.attrFn[ name ] = true;
+	}
+});
+
+
+/*!
+ * Sizzle CSS Selector Engine
+ *  Copyright 2011, The Dojo Foundation
+ *  Released under the MIT, BSD, and GPL Licenses.
+ *  More information: http://sizzlejs.com/
+ */
+(function(){
+
+var chunker = /((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ \
>+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, +	done = 0,
+	toString = Object.prototype.toString,
+	hasDuplicate = false,
+	baseHasDuplicate = true,
+	rBackslash = /\\/g,
+	rNonWord = /\W/;
+
+// Here we check if the JavaScript engine is using some sort of
+// optimization where it does not always call our comparision
+// function. If that is the case, discard the hasDuplicate value.
+//   Thus far that includes Google Chrome.
+[0, 0].sort(function() {
+	baseHasDuplicate = false;
+	return 0;
+});
+
+var Sizzle = function( selector, context, results, seed ) {
+	results = results || [];
+	context = context || document;
+
+	var origContext = context;
+
+	if ( context.nodeType !== 1 && context.nodeType !== 9 ) {
+		return [];
+	}
+
+	if ( !selector || typeof selector !== "string" ) {
+		return results;
+	}
+
+	var m, set, checkSet, extra, ret, cur, pop, i,
+		prune = true,
+		contextXML = Sizzle.isXML( context ),
+		parts = [],
+		soFar = selector;
+
+	// Reset the position of the chunker regexp (start from head)
+	do {
+		chunker.exec( "" );
+		m = chunker.exec( soFar );
+
+		if ( m ) {
+			soFar = m[3];
+
+			parts.push( m[1] );
+
+			if ( m[2] ) {
+				extra = m[3];
+				break;
+			}
+		}
+	} while ( m );
+
+	if ( parts.length > 1 && origPOS.exec( selector ) ) {
+
+		if ( parts.length === 2 && Expr.relative[ parts[0] ] ) {
+			set = posProcess( parts[0] + parts[1], context );
+
+		} else {
+			set = Expr.relative[ parts[0] ] ?
+				[ context ] :
+				Sizzle( parts.shift(), context );
+
+			while ( parts.length ) {
+				selector = parts.shift();
+
+				if ( Expr.relative[ selector ] ) {
+					selector += parts.shift();
+				}
+
+				set = posProcess( selector, set );
+			}
+		}
+
+	} else {
+		// Take a shortcut and set the context if the root selector is an ID
+		// (but not if it'll be faster if the inner selector is an ID)
+		if ( !seed && parts.length > 1 && context.nodeType === 9 && !contextXML &&
+				Expr.match.ID.test(parts[0]) && !Expr.match.ID.test(parts[parts.length - 1]) ) {
+
+			ret = Sizzle.find( parts.shift(), context, contextXML );
+			context = ret.expr ?
+				Sizzle.filter( ret.expr, ret.set )[0] :
+				ret.set[0];
+		}
+
+		if ( context ) {
+			ret = seed ?
+				{ expr: parts.pop(), set: makeArray(seed) } :
+				Sizzle.find( parts.pop(), parts.length === 1 && (parts[0] === "~" || parts[0] \
=== "+") && context.parentNode ? context.parentNode : context, contextXML ); +
+			set = ret.expr ?
+				Sizzle.filter( ret.expr, ret.set ) :
+				ret.set;
+
+			if ( parts.length > 0 ) {
+				checkSet = makeArray( set );
+
+			} else {
+				prune = false;
+			}
+
+			while ( parts.length ) {
+				cur = parts.pop();
+				pop = cur;
+
+				if ( !Expr.relative[ cur ] ) {
+					cur = "";
+				} else {
+					pop = parts.pop();
+				}
+
+				if ( pop == null ) {
+					pop = context;
+				}
+
+				Expr.relative[ cur ]( checkSet, pop, contextXML );
+			}
+
+		} else {
+			checkSet = parts = [];
+		}
+	}
+
+	if ( !checkSet ) {
+		checkSet = set;
+	}
+
+	if ( !checkSet ) {
+		Sizzle.error( cur || selector );
+	}
+
+	if ( toString.call(checkSet) === "[object Array]" ) {
+		if ( !prune ) {
+			results.push.apply( results, checkSet );
+
+		} else if ( context && context.nodeType === 1 ) {
+			for ( i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && (checkSet[i] === true || checkSet[i].nodeType === 1 && \
Sizzle.contains(context, checkSet[i])) ) { +					results.push( set[i] );
+				}
+			}
+
+		} else {
+			for ( i = 0; checkSet[i] != null; i++ ) {
+				if ( checkSet[i] && checkSet[i].nodeType === 1 ) {
+					results.push( set[i] );
+				}
+			}
+		}
+
+	} else {
+		makeArray( checkSet, results );
+	}
+
+	if ( extra ) {
+		Sizzle( extra, origContext, results, seed );
+		Sizzle.uniqueSort( results );
+	}
+
+	return results;
+};
+
+Sizzle.uniqueSort = function( results ) {
+	if ( sortOrder ) {
+		hasDuplicate = baseHasDuplicate;
+		results.sort( sortOrder );
+
+		if ( hasDuplicate ) {
+			for ( var i = 1; i < results.length; i++ ) {
+				if ( results[i] === results[ i - 1 ] ) {
+					results.splice( i--, 1 );
+				}
+			}
+		}
+	}
+
+	return results;
+};
+
+Sizzle.matches = function( expr, set ) {
+	return Sizzle( expr, null, null, set );
+};
+
+Sizzle.matchesSelector = function( node, expr ) {
+	return Sizzle( expr, null, null, [node] ).length > 0;
+};
+
+Sizzle.find = function( expr, context, isXML ) {
+	var set;
+
+	if ( !expr ) {
+		return [];
+	}
+
+	for ( var i = 0, l = Expr.order.length; i < l; i++ ) {
+		var match,
+			type = Expr.order[i];
+
+		if ( (match = Expr.leftMatch[ type ].exec( expr )) ) {
+			var left = match[1];
+			match.splice( 1, 1 );
+
+			if ( left.substr( left.length - 1 ) !== "\\" ) {
+				match[1] = (match[1] || "").replace( rBackslash, "" );
+				set = Expr.find[ type ]( match, context, isXML );
+
+				if ( set != null ) {
+					expr = expr.replace( Expr.match[ type ], "" );
+					break;
+				}
+			}
+		}
+	}
+
+	if ( !set ) {
+		set = typeof context.getElementsByTagName !== "undefined" ?
+			context.getElementsByTagName( "*" ) :
+			[];
+	}
+
+	return { set: set, expr: expr };
+};
+
+Sizzle.filter = function( expr, set, inplace, not ) {
+	var match, anyFound,
+		old = expr,
+		result = [],
+		curLoop = set,
+		isXMLFilter = set && set[0] && Sizzle.isXML( set[0] );
+
+	while ( expr && set.length ) {
+		for ( var type in Expr.filter ) {
+			if ( (match = Expr.leftMatch[ type ].exec( expr )) != null && match[2] ) {
+				var found, item,
+					filter = Expr.filter[ type ],
+					left = match[1];
+
+				anyFound = false;
+
+				match.splice(1,1);
+
+				if ( left.substr( left.length - 1 ) === "\\" ) {
+					continue;
+				}
+
+				if ( curLoop === result ) {
+					result = [];
+				}
+
+				if ( Expr.preFilter[ type ] ) {
+					match = Expr.preFilter[ type ]( match, curLoop, inplace, result, not, \
isXMLFilter ); +
+					if ( !match ) {
+						anyFound = found = true;
+
+					} else if ( match === true ) {
+						continue;
+					}
+				}
+
+				if ( match ) {
+					for ( var i = 0; (item = curLoop[i]) != null; i++ ) {
+						if ( item ) {
+							found = filter( item, match, i, curLoop );
+							var pass = not ^ !!found;
+
+							if ( inplace && found != null ) {
+								if ( pass ) {
+									anyFound = true;
+
+								} else {
+									curLoop[i] = false;
+								}
+
+							} else if ( pass ) {
+								result.push( item );
+								anyFound = true;
+							}
+						}
+					}
+				}
+
+				if ( found !== undefined ) {
+					if ( !inplace ) {
+						curLoop = result;
+					}
+
+					expr = expr.replace( Expr.match[ type ], "" );
+
+					if ( !anyFound ) {
+						return [];
+					}
+
+					break;
+				}
+			}
+		}
+
+		// Improper expression
+		if ( expr === old ) {
+			if ( anyFound == null ) {
+				Sizzle.error( expr );
+
+			} else {
+				break;
+			}
+		}
+
+		old = expr;
+	}
+
+	return curLoop;
+};
+
+Sizzle.error = function( msg ) {
+	throw "Syntax error, unrecognized expression: " + msg;
+};
+
+var Expr = Sizzle.selectors = {
+	order: [ "ID", "NAME", "TAG" ],
+
+	match: {
+		ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+		CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
+		NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
+		ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
 +		TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
+		CHILD: /:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
 +		POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
+		PSEUDO: /:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/
 +	},
+
+	leftMatch: {},
+
+	attrMap: {
+		"class": "className",
+		"for": "htmlFor"
+	},
+
+	attrHandle: {
+		href: function( elem ) {
+			return elem.getAttribute( "href" );
+		},
+		type: function( elem ) {
+			return elem.getAttribute( "type" );
+		}
+	},
+
+	relative: {
+		"+": function(checkSet, part){
+			var isPartStr = typeof part === "string",
+				isTag = isPartStr && !rNonWord.test( part ),
+				isPartStrNotTag = isPartStr && !isTag;
+
+			if ( isTag ) {
+				part = part.toLowerCase();
+			}
+
+			for ( var i = 0, l = checkSet.length, elem; i < l; i++ ) {
+				if ( (elem = checkSet[i]) ) {
+					while ( (elem = elem.previousSibling) && elem.nodeType !== 1 ) {}
+
+					checkSet[i] = isPartStrNotTag || elem && elem.nodeName.toLowerCase() === part ?
+						elem || false :
+						elem === part;
+				}
+			}
+
+			if ( isPartStrNotTag ) {
+				Sizzle.filter( part, checkSet, true );
+			}
+		},
+
+		">": function( checkSet, part ) {
+			var elem,
+				isPartStr = typeof part === "string",
+				i = 0,
+				l = checkSet.length;
+
+			if ( isPartStr && !rNonWord.test( part ) ) {
+				part = part.toLowerCase();
+
+				for ( ; i < l; i++ ) {
+					elem = checkSet[i];
+
+					if ( elem ) {
+						var parent = elem.parentNode;
+						checkSet[i] = parent.nodeName.toLowerCase() === part ? parent : false;
+					}
+				}
+
+			} else {
+				for ( ; i < l; i++ ) {
+					elem = checkSet[i];
+
+					if ( elem ) {
+						checkSet[i] = isPartStr ?
+							elem.parentNode :
+							elem.parentNode === part;
+					}
+				}
+
+				if ( isPartStr ) {
+					Sizzle.filter( part, checkSet, true );
+				}
+			}
+		},
+
+		"": function(checkSet, part, isXML){
+			var nodeCheck,
+				doneName = done++,
+				checkFn = dirCheck;
+
+			if ( typeof part === "string" && !rNonWord


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic