diff options
Diffstat (limited to 'plugins')
21 files changed, 203 insertions, 169 deletions
diff --git a/plugins/acl/localization/ko_KR.inc b/plugins/acl/localization/ko_KR.inc index 85e33725d..524427a4e 100644 --- a/plugins/acl/localization/ko_KR.inc +++ b/plugins/acl/localization/ko_KR.inc @@ -19,81 +19,81 @@ $labels['sharing'] = '공유'; $labels['myrights'] = '접근 권한'; $labels['username'] = '사용자:'; -$labels['advanced'] = 'advanced mode'; +$labels['advanced'] = '고급 모드'; $labels['newuser'] = '엔트리 추가'; -$labels['actions'] = 'Access right actions...'; -$labels['anyone'] = 'All users (anyone)'; -$labels['anonymous'] = 'Guests (anonymous)'; +$labels['actions'] = '접근 권한 동작...'; +$labels['anyone'] = '모든 사용자 (아무나)'; +$labels['anonymous'] = '방문자 (익명)'; $labels['identifier'] = '식별자'; -$labels['acll'] = 'Lookup'; -$labels['aclr'] = 'Read messages'; +$labels['acll'] = '조회'; +$labels['aclr'] = '읽은 메시지'; $labels['acls'] = '읽은 상태로 유지'; -$labels['aclw'] = 'Write flags'; -$labels['acli'] = 'Insert (Copy into)'; +$labels['aclw'] = '쓰기 깃발'; +$labels['acli'] = '삽입 (복사할 위치)'; $labels['aclp'] = '게시'; $labels['aclc'] = '하위 폴더 만들기'; $labels['aclk'] = '하위 폴더 만들기'; $labels['acld'] = '메시지 삭제'; $labels['aclt'] = '메시지 삭제'; -$labels['acle'] = 'Expunge'; +$labels['acle'] = '영구 제거'; $labels['aclx'] = '폴더 삭제'; $labels['acla'] = '관리자'; -$labels['aclfull'] = 'Full control'; -$labels['aclother'] = 'Other'; -$labels['aclread'] = 'Read'; -$labels['aclwrite'] = 'Write'; -$labels['acldelete'] = 'Delete'; +$labels['aclfull'] = '전체 제어권'; +$labels['aclother'] = '기타'; +$labels['aclread'] = '읽기'; +$labels['aclwrite'] = '쓰기'; +$labels['acldelete'] = '삭제'; -$labels['shortacll'] = 'Lookup'; -$labels['shortaclr'] = 'Read'; -$labels['shortacls'] = 'Keep'; -$labels['shortaclw'] = 'Write'; -$labels['shortacli'] = 'Insert'; +$labels['shortacll'] = '조회'; +$labels['shortaclr'] = '읽기'; +$labels['shortacls'] = '보관'; +$labels['shortaclw'] = '쓰기'; +$labels['shortacli'] = '삽입'; $labels['shortaclp'] = '게시'; -$labels['shortaclc'] = 'Create'; -$labels['shortaclk'] = 'Create'; -$labels['shortacld'] = 'Delete'; -$labels['shortaclt'] = 'Delete'; -$labels['shortacle'] = 'Expunge'; +$labels['shortaclc'] = '생성'; +$labels['shortaclk'] = '생성'; +$labels['shortacld'] = '삭제'; +$labels['shortaclt'] = '삭제'; +$labels['shortacle'] = '지움'; $labels['shortaclx'] = '폴더 삭제'; -$labels['shortacla'] = '관리자'; +$labels['shortacla'] = '관리'; -$labels['shortaclother'] = 'Other'; -$labels['shortaclread'] = 'Read'; -$labels['shortaclwrite'] = 'Write'; -$labels['shortacldelete'] = 'Delete'; +$labels['shortaclother'] = '기타'; +$labels['shortaclread'] = '읽기'; +$labels['shortaclwrite'] = '쓱'; +$labels['shortacldelete'] = '삭제'; -$labels['longacll'] = 'The folder is visible on lists and can be subscribed to'; -$labels['longaclr'] = 'The folder can be opened for reading'; -$labels['longacls'] = 'Messages Seen flag can be changed'; -$labels['longaclw'] = 'Messages flags and keywords can be changed, except Seen and Deleted'; -$labels['longacli'] = '폴더에 메시지를 복사하거나 작성할 수 있음'; -$labels['longaclp'] = '이 폴더로 메시지를 게시할 수 있음'; -$labels['longaclc'] = '이 폴더의 바로 밑에 폴더를 생성(또는 이름 변경)할 수 있음'; -$labels['longaclk'] = '이 폴더의 바로 밑에 폴더를 생성(또는 이름 변경)할 수 있음'; -$labels['longacld'] = '메시지 삭제 플래그가 변경될 수 있음'; -$labels['longaclt'] = '메시지 삭제 플래그가 변경될 수 있음'; -$labels['longacle'] = 'Messages can be expunged'; -$labels['longaclx'] = '폴더를 삭제하거나 이름 변경 할 수 있음'; +$labels['longacll'] = '폴더가 목록에 나타나고 다음 사용자가 구독할 수 있음:'; +$labels['longaclr'] = '읽기 위해 폴더를 열 수 있음'; +$labels['longacls'] = '읽은 메시지 깃발이 변경될 수 있음'; +$labels['longaclw'] = '메시지 깃발 및 키워드를 변경할 수 있음, 다만 읽음 및 삭제됨은 제외'; +$labels['longacli'] = '메시지를 폴더에 복사하거나 작성할 수 있음'; +$labels['longaclp'] = '메시지를 이 폴더로 게시할 수 있음'; +$labels['longaclc'] = '이 폴더의 바로 아래에 폴더를 생성(또는 이름 변경)할 수 있음'; +$labels['longaclk'] = '이 폴더의 바로 아래에 폴더를 생성(또는 이름 변경)할 수 있음'; +$labels['longacld'] = '메시지 삭제 깃발이 변경될 수 있음'; +$labels['longaclt'] = '메시지 삭제 깃발이 변경될 수 있음'; +$labels['longacle'] = '메시지가 영구 제거될 수 있음'; +$labels['longaclx'] = '폴더를 삭제하거나 이름을 변경 할 수 있음'; $labels['longacla'] = '폴더의 접근 권한을 변경할 수 있음'; $labels['longaclfull'] = '폴더 관리를 포함한 모든 제어권'; -$labels['longaclread'] = 'The folder can be opened for reading'; -$labels['longaclwrite'] = '메시지에 표시하거나, 폴더로 메시지를 복사하거나 작성할 수 있음'; +$labels['longaclread'] = '폴더를 열어 읽을 수 있음'; +$labels['longaclwrite'] = '메시지에 표시하거나, 폴더로 이동하거나 복사할 수 있음'; $labels['longacldelete'] = '메시지를 삭제할 수 있음'; -$messages['deleting'] = '접근 권한 삭제 중...'; -$messages['saving'] = '접근 권한 저장 중...'; -$messages['updatesuccess'] = '접근 권한을 변경하는데 성공 함.'; -$messages['deletesuccess'] = '접근 권한을 삭제하는데 성공 함.'; -$messages['createsuccess'] = '접근 권한을 추가하는데 성공 함.'; -$messages['updateerror'] = '접근 권한을 갱신할 수 없음.'; +$messages['deleting'] = '접근 권한을 삭제하는 중...'; +$messages['saving'] = '접근 권한을 저장하는 중...'; +$messages['updatesuccess'] = '접근 권한을 성공적으로 변경함.'; +$messages['deletesuccess'] = '접근 권한을 성공적으로 삭제함.'; +$messages['createsuccess'] = '접근 권한을 성공적으로 추가함.'; +$messages['updateerror'] = '접근 권한을 업데이트할 수 없음.'; $messages['deleteerror'] = '접근 권한을 삭제할 수 없음.'; $messages['createerror'] = '접근 권한을 추가할 수 없음.'; -$messages['deleteconfirm'] = '선택한 사용자(들)의 접근 권한을 삭제하고자 하는 것이 확실 합니까?'; +$messages['deleteconfirm'] = '정말로 선택한 사용자의 접근 권한을 삭제하시겠습니까?'; $messages['norights'] = '지정된 권한이 없음!'; -$messages['nouser'] = '지정된 username이 없음!'; +$messages['nouser'] = '지정된 사용자명이 없음!'; ?> diff --git a/plugins/archive/localization/az_AZ.inc b/plugins/archive/localization/az_AZ.inc index 8aab6f2da..19a409d41 100644 --- a/plugins/archive/localization/az_AZ.inc +++ b/plugins/archive/localization/az_AZ.inc @@ -20,15 +20,15 @@ $labels = array(); $labels['buttontext'] = 'Arxiv'; $labels['buttontitle'] = 'Mesajı arxivə göndər'; $labels['archived'] = 'Arxivə göndərildi'; -$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.'; -$labels['archiveerror'] = 'Some messages could not be archived'; +$labels['archivedreload'] = 'Müvəffəqiyyətlə arxivləşdirildi. Yeni arxiv qovluqlarını görmək üçün səhifəni yeniləyin.'; +$labels['archiveerror'] = 'Bəzi məktublar arxivləşdirilə bilinmirlər'; $labels['archivefolder'] = 'Arxiv'; -$labels['settingstitle'] = 'Archive'; -$labels['archivetype'] = 'Divide archive by'; -$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)'; -$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)'; -$labels['archivetypefolder'] = 'Original folder'; -$labels['archivetypesender'] = 'Sender email'; -$labels['unkownsender'] = 'unknown'; +$labels['settingstitle'] = 'Arxiv'; +$labels['archivetype'] = 'Arxivi böl: '; +$labels['archivetypeyear'] = 'İl (məs. Arxiv/2012)'; +$labels['archivetypemonth'] = 'Ay (məs. Arxiv/2012/06)'; +$labels['archivetypefolder'] = 'Orijinal qovluq'; +$labels['archivetypesender'] = 'Göndərənin E-Poçtu'; +$labels['unkownsender'] = 'naməlum'; ?> diff --git a/plugins/archive/localization/es_AR.inc b/plugins/archive/localization/es_AR.inc index ad9e84add..5fb082497 100644 --- a/plugins/archive/localization/es_AR.inc +++ b/plugins/archive/localization/es_AR.inc @@ -20,15 +20,15 @@ $labels = array(); $labels['buttontext'] = 'Archivo'; $labels['buttontitle'] = 'Archivar este mensaje'; $labels['archived'] = 'Mensaje Archivado'; -$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.'; -$labels['archiveerror'] = 'Some messages could not be archived'; +$labels['archivedreload'] = 'Archivado satisfactoriamente. Recarga la página para ver las nuevas capetas archivadas.'; +$labels['archiveerror'] = 'Algunos mensajes no pudieron archivarse'; $labels['archivefolder'] = 'Archivo'; -$labels['settingstitle'] = 'Archive'; -$labels['archivetype'] = 'Divide archive by'; -$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)'; -$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)'; -$labels['archivetypefolder'] = 'Original folder'; -$labels['archivetypesender'] = 'Sender email'; -$labels['unkownsender'] = 'unknown'; +$labels['settingstitle'] = 'Archivo'; +$labels['archivetype'] = 'Separar archivo por'; +$labels['archivetypeyear'] = 'Año (ej. Archivo/2012)'; +$labels['archivetypemonth'] = 'Mes (ej. Archivo/2012/06)'; +$labels['archivetypefolder'] = 'Carpeta original'; +$labels['archivetypesender'] = 'Remitente del correo'; +$labels['unkownsender'] = 'desconocido'; ?> diff --git a/plugins/archive/localization/ko_KR.inc b/plugins/archive/localization/ko_KR.inc index 96a7ac404..4226420a0 100644 --- a/plugins/archive/localization/ko_KR.inc +++ b/plugins/archive/localization/ko_KR.inc @@ -19,16 +19,16 @@ $labels = array(); $labels['buttontext'] = '보관'; $labels['buttontitle'] = '이 메시지를 보관'; -$labels['archived'] = '성공적으로 보관 됨'; -$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.'; -$labels['archiveerror'] = 'Some messages could not be archived'; +$labels['archived'] = '성공적으로 보관됨'; +$labels['archivedreload'] = '성공적으로 보관됨. 페이지를 다시 불러와서 새 보관 폴더를 확인하세요.'; +$labels['archiveerror'] = '일부 메시지가 보관되지 않음'; $labels['archivefolder'] = '보관'; -$labels['settingstitle'] = 'Archive'; -$labels['archivetype'] = 'Divide archive by'; -$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)'; -$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)'; -$labels['archivetypefolder'] = 'Original folder'; -$labels['archivetypesender'] = 'Sender email'; -$labels['unkownsender'] = 'unknown'; +$labels['settingstitle'] = '보관'; +$labels['archivetype'] = '보관된 메시지 정리 기준'; +$labels['archivetypeyear'] = '연도 (예: 보관 편지함/2012)'; +$labels['archivetypemonth'] = '월 (예: 보관 편지함/2012/06)'; +$labels['archivetypefolder'] = '원본 폴더'; +$labels['archivetypesender'] = '발신인 이메일'; +$labels['unkownsender'] = '알 수 없음'; ?> diff --git a/plugins/archive/localization/lt_LT.inc b/plugins/archive/localization/lt_LT.inc index 36046277a..069a65665 100644 --- a/plugins/archive/localization/lt_LT.inc +++ b/plugins/archive/localization/lt_LT.inc @@ -20,15 +20,15 @@ $labels = array(); $labels['buttontext'] = 'Archyvuoti'; $labels['buttontitle'] = 'Perkelti šį laišką į archyvą'; $labels['archived'] = 'Laiškas sėkmingai perkeltas į archyvą'; -$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.'; -$labels['archiveerror'] = 'Some messages could not be archived'; +$labels['archivedreload'] = 'Sėkmingai perkelta į archyvą. Iš naujo įkelkite puslapį, kad pamatytumėt pasikeitimus.'; +$labels['archiveerror'] = 'Į archyvą nepavyko perkelti keleto laiškų.'; $labels['archivefolder'] = 'Archyvuoti'; -$labels['settingstitle'] = 'Archive'; -$labels['archivetype'] = 'Divide archive by'; -$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)'; -$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)'; -$labels['archivetypefolder'] = 'Original folder'; -$labels['archivetypesender'] = 'Sender email'; -$labels['unkownsender'] = 'unknown'; +$labels['settingstitle'] = 'Archyvuoti'; +$labels['archivetype'] = 'Padalinti archyvą pagal'; +$labels['archivetypeyear'] = 'Metai (pvz. Archyvas/2012)'; +$labels['archivetypemonth'] = 'Mėnesis (pvz. Archyvas/2012/06)'; +$labels['archivetypefolder'] = 'Tikrasis aplankas'; +$labels['archivetypesender'] = 'Siuntėjo el. pašto adresas'; +$labels['unkownsender'] = 'nežinomas'; ?> diff --git a/plugins/archive/localization/tr_TR.inc b/plugins/archive/localization/tr_TR.inc index 765498301..b6960ea89 100644 --- a/plugins/archive/localization/tr_TR.inc +++ b/plugins/archive/localization/tr_TR.inc @@ -20,15 +20,15 @@ $labels = array(); $labels['buttontext'] = 'Arşiv'; $labels['buttontitle'] = 'Bu postayı arşivle'; $labels['archived'] = 'Başarıyla arşivlendi'; -$labels['archivedreload'] = 'Successfully archived. Reload the page to see the new archive folders.'; -$labels['archiveerror'] = 'Some messages could not be archived'; +$labels['archivedreload'] = 'Başarıyla arşivlendi. Yeni arşiv dosyalarını görmek için sayfayı yenileyin.'; +$labels['archiveerror'] = 'Bazı mesajlar arşivlenemedi.'; $labels['archivefolder'] = 'Arşiv'; -$labels['settingstitle'] = 'Archive'; -$labels['archivetype'] = 'Divide archive by'; -$labels['archivetypeyear'] = 'Year (e.g. Archive/2012)'; -$labels['archivetypemonth'] = 'Month (e.g. Archive/2012/06)'; -$labels['archivetypefolder'] = 'Original folder'; -$labels['archivetypesender'] = 'Sender email'; -$labels['unkownsender'] = 'unknown'; +$labels['settingstitle'] = 'Arşiv'; +$labels['archivetype'] = 'Arşivi bunla böl'; +$labels['archivetypeyear'] = 'Yıl (Arşiv/2012)'; +$labels['archivetypemonth'] = 'Ay(Arşiv/2012/06)'; +$labels['archivetypefolder'] = 'Özgün dosya'; +$labels['archivetypesender'] = 'E-Posta Göndericisi'; +$labels['unkownsender'] = 'bilinmeyen'; ?> diff --git a/plugins/filesystem_attachments/filesystem_attachments.php b/plugins/filesystem_attachments/filesystem_attachments.php index fa147795f..d952e5a75 100644 --- a/plugins/filesystem_attachments/filesystem_attachments.php +++ b/plugins/filesystem_attachments/filesystem_attachments.php @@ -60,6 +60,7 @@ class filesystem_attachments extends rcube_plugin $args['id'] = $this->file_id(); $args['path'] = $tmpfname; $args['status'] = true; + @chmod($tmpfname, 0600); // set correct permissions (#1488996) // Note the file for later cleanup $_SESSION['plugins']['filesystem_attachments'][$group][] = $tmpfname; diff --git a/plugins/help/localization/ko_KR.inc b/plugins/help/localization/ko_KR.inc index a589d0ce1..836da6639 100644 --- a/plugins/help/localization/ko_KR.inc +++ b/plugins/help/localization/ko_KR.inc @@ -19,6 +19,6 @@ $labels = array(); $labels['help'] = '도움말'; $labels['about'] = '정보'; -$labels['license'] = '라이센스'; +$labels['license'] = '라이선스'; ?> diff --git a/plugins/managesieve/localization/bs_BA.inc b/plugins/managesieve/localization/bs_BA.inc index 6d1ec8d2c..7d21dbd9f 100644 --- a/plugins/managesieve/localization/bs_BA.inc +++ b/plugins/managesieve/localization/bs_BA.inc @@ -57,9 +57,9 @@ $labels['sender'] = 'Pošiljaoc'; $labels['recipient'] = 'Primaoc'; $labels['vacationaddresses'] = 'Moje dodatne email adrese (odvojite zarezima):'; $labels['vacationdays'] = 'Frekvencija slanja poruka (u danima):'; -$labels['vacationinterval'] = 'How often send messages:'; -$labels['days'] = 'days'; -$labels['seconds'] = 'seconds'; +$labels['vacationinterval'] = 'Frekvencija slanja poruka:'; +$labels['days'] = 'dana'; +$labels['seconds'] = 'sekundi'; $labels['vacationreason'] = 'Tijelo poruke (razlog za odmor):'; $labels['vacationsubject'] = 'Naslov poruke:'; $labels['rulestop'] = 'Prestani procjenjivati pravila'; diff --git a/plugins/new_user_dialog/localization/ko_KR.inc b/plugins/new_user_dialog/localization/ko_KR.inc index 82240f37d..d9b519475 100644 --- a/plugins/new_user_dialog/localization/ko_KR.inc +++ b/plugins/new_user_dialog/localization/ko_KR.inc @@ -17,7 +17,7 @@ */ $labels = array(); -$labels['identitydialogtitle'] = '수신자의 신원을 채우기 바랍니다.'; -$labels['identitydialoghint'] = '이 박스는 최초로 로그인할 때만 나타납니다.'; +$labels['identitydialogtitle'] = '수신인의 신원을 완성하시기 바랍니다.'; +$labels['identitydialoghint'] = '이 상자는 최초로 로그인할 때만 나타납니다.'; ?>
\ No newline at end of file diff --git a/plugins/new_user_dialog/localization/nl_NL.inc b/plugins/new_user_dialog/localization/nl_NL.inc index 4d5d41185..c5d392f98 100644 --- a/plugins/new_user_dialog/localization/nl_NL.inc +++ b/plugins/new_user_dialog/localization/nl_NL.inc @@ -17,7 +17,7 @@ */ $labels = array(); -$labels['identitydialogtitle'] = 'Vul uw correcte identiteitgegevens in a.u.b.'; -$labels['identitydialoghint'] = 'Dit scherm verschijnt enkel bij uw eerste login.'; +$labels['identitydialogtitle'] = 'Vul alstublieft uw afzendergegevens in.'; +$labels['identitydialoghint'] = 'Dit scherm verschijnt eenmalig bij uw eerste aanmelding.'; ?>
\ No newline at end of file diff --git a/plugins/new_user_dialog/new_user_dialog.php b/plugins/new_user_dialog/new_user_dialog.php index 871384e47..8d641c946 100644 --- a/plugins/new_user_dialog/new_user_dialog.php +++ b/plugins/new_user_dialog/new_user_dialog.php @@ -126,7 +126,7 @@ class new_user_dialog extends rcube_plugin ); // don't let the user alter the e-mail address if disabled by config - if ($identities_level == 1 || $identities_level == 3) + if (in_array($identities_level, array(1,3,4))) $save_data['email'] = $identity['email']; else $save_data['email'] = rcube_utils::idn_to_ascii($save_data['email']); @@ -141,5 +141,3 @@ class new_user_dialog extends rcube_plugin } } - -?> diff --git a/plugins/new_user_dialog/package.xml b/plugins/new_user_dialog/package.xml index 0bca1d9d4..c9f1965de 100644 --- a/plugins/new_user_dialog/package.xml +++ b/plugins/new_user_dialog/package.xml @@ -13,10 +13,9 @@ <email>roundcube@gmail.com</email> <active>yes</active> </lead> - <date>2012-01-16</date> - <time>17:00</time> + <date>2013-04-16</date> <version> - <release>1.5</release> + <release>1.6</release> <api>1.0</api> </version> <stability> @@ -25,8 +24,7 @@ </stability> <license uri="http://www.gnu.org/licenses/gpl.html">GNU GPLv3+</license> <notes> -- Use jquery UI to render the dialog -- Fixed IDNA encoding/decoding of e-mail addresses (#1487909) +- Fix handling of identities_level=4 </notes> <contents> <dir baseinstalldir="/" name="/"> @@ -150,5 +148,22 @@ <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license> <notes>- Use jquery UI to render the dialog</notes> </release> + <release> + <date>2012-01-16</date> + <time>17:00</time> + <version> + <release>1.5</release> + <api>1.0</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://www.gnu.org/licenses/gpl.html">GNU GPLv3+</license> + <notes> +- Use jquery UI to render the dialog +- Fixed IDNA encoding/decoding of e-mail addresses (#1487909) + </notes> + </release> </changelog> </package> diff --git a/plugins/newmail_notifier/localization/nl_NL.inc b/plugins/newmail_notifier/localization/nl_NL.inc index e18a6ff2d..01f97e4ce 100644 --- a/plugins/newmail_notifier/localization/nl_NL.inc +++ b/plugins/newmail_notifier/localization/nl_NL.inc @@ -16,14 +16,14 @@ For translation see https://www.transifex.com/projects/p/roundcube-webmail/resource/plugin-newmail_notifier/ */ -$labels['basic'] = 'Toon browsermelding bij nieuw bericht'; -$labels['desktop'] = 'Toon desktopmelding bij nieuw bericht'; -$labels['sound'] = 'Speel geluid bij nieuw bericht'; +$labels['basic'] = 'Toon melding in browser bij nieuw bericht'; +$labels['desktop'] = 'Toon melding op bureaublad bij nieuw bericht'; +$labels['sound'] = 'Geluid afspelen bij nieuw bericht'; $labels['test'] = 'Test'; $labels['title'] = 'Nieuwe e-mail!'; $labels['body'] = 'U heeft een nieuw bericht ontvangen.'; $labels['testbody'] = 'Dit is een testmelding.'; -$labels['desktopdisabled'] = 'Desktopmeldingen zijn uitgeschakeld in uw browser.'; -$labels['desktopunsupported'] = 'Uw browser ondersteunt geen desktopmeldingen.'; +$labels['desktopdisabled'] = 'Bureaubladmeldingen zijn uitgeschakeld in uw browser.'; +$labels['desktopunsupported'] = 'Uw browser ondersteunt geen bureaubladmeldingen.'; ?> diff --git a/plugins/password/README b/plugins/password/README index 2c57e0cf6..0ccc8ad23 100644 --- a/plugins/password/README +++ b/plugins/password/README @@ -24,8 +24,8 @@ @author <see driver files for driver authors> ----------------------------------------------------------------------- - 1. Configuration - 2. Drivers + 1. Configuration + 2. Drivers 2.1. Database (sql) 2.2. Cyrus/SASL (sasl) 2.3. Poppassd/Courierpassd (poppassd) @@ -44,7 +44,7 @@ 2.16. DBMail (dbmail) 2.17. Expect (expect) 2.18. Samba (smb) - 3. Driver API + 3. Driver API 1. Configuration @@ -72,33 +72,33 @@ - This is for use with LMS (http://lms.org.pl) database and postgres: - CREATE OR REPLACE FUNCTION update_passwd(hash text, account text) RETURNS integer AS $$ - DECLARE - res integer; - BEGIN - UPDATE passwd SET password = hash - WHERE login = split_part(account, '@', 1) - AND domainid = (SELECT id FROM domains WHERE name = split_part(account, '@', 2)) - RETURNING id INTO res; - RETURN res; - END; - $$ LANGUAGE plpgsql SECURITY DEFINER; + CREATE OR REPLACE FUNCTION update_passwd(hash text, account text) RETURNS integer AS $$ + DECLARE + res integer; + BEGIN + UPDATE passwd SET password = hash + WHERE login = split_part(account, '@', 1) + AND domainid = (SELECT id FROM domains WHERE name = split_part(account, '@', 2)) + RETURNING id INTO res; + RETURN res; + END; + $$ LANGUAGE plpgsql SECURITY DEFINER; - This is for use with a SELECT update_passwd(%o,%c,%u) query - Updates the password only when the old password matches the MD5 password - in the database - - CREATE FUNCTION update_password (oldpass text, cryptpass text, user text) RETURNS text - MODIFIES SQL DATA - BEGIN - DECLARE currentsalt varchar(20); - DECLARE error text; - SET error = 'incorrect current password'; - SELECT substring_index(substr(user.password,4),_latin1'$',1) INTO currentsalt FROM users WHERE username=user; - SELECT '' INTO error FROM users WHERE username=user AND password=ENCRYPT(oldpass,currentsalt); - UPDATE users SET password=cryptpass WHERE username=user AND password=ENCRYPT(oldpass,currentsalt); - RETURN error; - END + Updates the password only when the old password matches the MD5 password + in the database + + CREATE FUNCTION update_password (oldpass text, cryptpass text, user text) RETURNS text + MODIFIES SQL DATA + BEGIN + DECLARE currentsalt varchar(20); + DECLARE error text; + SET error = 'incorrect current password'; + SELECT substring_index(substr(user.password,4),_latin1'$',1) INTO currentsalt FROM users WHERE username=user; + SELECT '' INTO error FROM users WHERE username=user AND password=ENCRYPT(oldpass,currentsalt); + UPDATE users SET password=cryptpass WHERE username=user AND password=ENCRYPT(oldpass,currentsalt); + RETURN error; + END Example SQL UPDATEs: @@ -142,7 +142,7 @@ documented within it. Compile the wrapper program: - gcc -o chgsaslpasswd chgsaslpasswd.c + gcc -o chgsaslpasswd chgsaslpasswd.c Chown the compiled chgsaslpasswd binary to the cyrus user and group that your browser runs as, then chmod them to 4550. @@ -150,13 +150,13 @@ For example, if your cyrus user is 'cyrus' and the apache server group is 'nobody' (I've been told Redhat runs Apache as user 'apache'): - chown cyrus:nobody chgsaslpasswd - chmod 4550 chgsaslpasswd + chown cyrus:nobody chgsaslpasswd + chmod 4550 chgsaslpasswd Stephen Carr has suggested users should try to run the scripts on a test account as the cyrus user eg; - su cyrus -c "./chgsaslpasswd -p test_account" + su cyrus -c "./chgsaslpasswd -p test_account" This will allow you to make sure that the script will work for your setup. Should the script not work, make sure that: diff --git a/plugins/password/config.inc.php.dist b/plugins/password/config.inc.php.dist index 87758d84f..9256829aa 100644 --- a/plugins/password/config.inc.php.dist +++ b/plugins/password/config.inc.php.dist @@ -31,6 +31,10 @@ $rcmail_config['password_login_exceptions'] = null; //$rcmail_config['password_hosts'] = array('mail.example.com', 'mail2.example.org'); $rcmail_config['password_hosts'] = null; +// Enables saving the new password even if it matches the old password. Useful +// for upgrading the stored passwords after the encryption scheme has changed. +$rcmail_config['password_force_save'] = false; + // SQL Driver options // ------------------ diff --git a/plugins/password/localization/nl_NL.inc b/plugins/password/localization/nl_NL.inc index c2c4599bc..e5b634602 100644 --- a/plugins/password/localization/nl_NL.inc +++ b/plugins/password/localization/nl_NL.inc @@ -17,21 +17,21 @@ */ $labels = array(); -$labels['changepasswd'] = 'Wijzig Wachtwoord'; -$labels['curpasswd'] = 'Huidig Wachtwoord:'; -$labels['newpasswd'] = 'Nieuw Wachtwoord:'; -$labels['confpasswd'] = 'Bevestig Nieuw Wachtwoord:'; +$labels['changepasswd'] = 'Wachtwoord wijzigen'; +$labels['curpasswd'] = 'Huidig wachtwoord:'; +$labels['newpasswd'] = 'Nieuw wachtwoord:'; +$labels['confpasswd'] = 'Bevestig nieuw wachtwoord:'; $messages = array(); -$messages['nopassword'] = 'Vul een wachtwoord in.'; -$messages['nocurpassword'] = 'vul het huidige wachtwoord in.'; +$messages['nopassword'] = 'Vul uw nieuwe wachtwoord in.'; +$messages['nocurpassword'] = 'Vul uw huidige wachtwoord in.'; $messages['passwordincorrect'] = 'Huidig wachtwoord is onjuist.'; $messages['passwordinconsistency'] = 'Wachtwoorden komen niet overeen, probeer het opnieuw.'; -$messages['crypterror'] = 'De server mist een functie om uw wachtwoord et beveiligen.'; -$messages['connecterror'] = 'Kan het nieuwe wachtwoord niet opslaan. Verbindingsfout.'; -$messages['internalerror'] = 'Uw wachtwoord kan niet worden opgeslagen.'; +$messages['crypterror'] = 'Nieuwe wachtwoord kan niet opgeslagen worden; de server mist een versleutelfunctie.'; +$messages['connecterror'] = 'Nieuwe wachtwoord kan niet opgeslagen worden; verbindingsfout.'; +$messages['internalerror'] = 'Uw nieuwe wachtwoord kan niet worden opgeslagen.'; $messages['passwordshort'] = 'Het wachtwoord moet minimaal $length tekens lang zijn.'; -$messages['passwordweak'] = 'Het wachtwoord moet minimaal één nummer en één leesteken bevatten.'; +$messages['passwordweak'] = 'Het wachtwoord moet minimaal één cijfer en één leesteken bevatten.'; $messages['passwordforbidden'] = 'Het wachtwoord bevat tekens die niet toegestaan zijn.'; ?> diff --git a/plugins/password/package.xml b/plugins/password/package.xml index be917917f..81427a986 100644 --- a/plugins/password/package.xml +++ b/plugins/password/package.xml @@ -15,9 +15,9 @@ <email>alec@alec.pl</email> <active>yes</active> </lead> - <date>2013-03-30</date> + <date>2013-04-28</date> <version> - <release>3.3</release> + <release>3.4</release> <api>2.0</api> </version> <stability> @@ -26,7 +26,7 @@ </stability> <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license> <notes> -Added new cPanel driver - fixes localization related issues (#1487015) +Added password_force_save option </notes> <contents> <dir baseinstalldir="/" name="/"> @@ -362,5 +362,20 @@ Added new cPanel driver - fixes localization related issues (#1487015) - Added option to define IMAP hosts that support password changes - password_hosts </notes> </release> + <release> + <date>2013-03-30</date> + <version> + <release>3.3</release> + <api>2.0</api> + </version> + <stability> + <release>stable</release> + <api>stable</api> + </stability> + <license uri="http://www.gnu.org/licenses/gpl-2.0.html">GNU GPLv2</license> + <notes> +Added new cPanel driver - fixes localization related issues (#1487015) + </notes> + </release> </changelog> </package> diff --git a/plugins/password/password.php b/plugins/password/password.php index 39020a0bf..e16b4d0b9 100644 --- a/plugins/password/password.php +++ b/plugins/password/password.php @@ -147,7 +147,7 @@ class password extends rcube_plugin $rcmail->output->command('display_message', $this->gettext('passwordweak'), 'error'); } // password is the same as the old one, do nothing, return success - else if ($sespwd == $newpwd) { + else if ($sespwd == $newpwd && !$rcmail->config->get('password_force_save')) { $rcmail->output->command('display_message', $this->gettext('successfullysaved'), 'confirmation'); } // try to save the password diff --git a/plugins/userinfo/localization/nl_NL.inc b/plugins/userinfo/localization/nl_NL.inc index 8c636e700..8c46ca6c4 100644 --- a/plugins/userinfo/localization/nl_NL.inc +++ b/plugins/userinfo/localization/nl_NL.inc @@ -19,7 +19,7 @@ $labels = array(); $labels['userinfo'] = 'Gebruikersinformatie'; $labels['created'] = 'Aangemaakt'; -$labels['lastlogin'] = 'Laatste login'; +$labels['lastlogin'] = 'Laatste aanmelding'; $labels['defaultidentity'] = 'Standaardidentiteit'; ?>
\ No newline at end of file diff --git a/plugins/virtuser_query/virtuser_query.php b/plugins/virtuser_query/virtuser_query.php index 675eb7c1b..9e3dc9071 100644 --- a/plugins/virtuser_query/virtuser_query.php +++ b/plugins/virtuser_query/virtuser_query.php @@ -59,7 +59,7 @@ class virtuser_query extends rcube_plugin { $dbh = $this->get_dbh(); - $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escapeSimple($p['user']), $this->config['email'])); + $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escape($p['user']), $this->config['email'])); while ($sql_arr = $dbh->fetch_array($sql_result)) { if (strpos($sql_arr[0], '@')) { @@ -78,8 +78,9 @@ class virtuser_query extends rcube_plugin $result[] = $sql_arr[0]; } - if ($p['first']) + if ($p['first']) { break; + } } } @@ -95,7 +96,7 @@ class virtuser_query extends rcube_plugin { $dbh = $this->get_dbh(); - $sql_result = $dbh->query(preg_replace('/%m/', $dbh->escapeSimple($p['email']), $this->config['user'])); + $sql_result = $dbh->query(preg_replace('/%m/', $dbh->escape($p['email']), $this->config['user'])); if ($sql_arr = $dbh->fetch_array($sql_result)) { $p['user'] = $sql_arr[0]; @@ -111,7 +112,7 @@ class virtuser_query extends rcube_plugin { $dbh = $this->get_dbh(); - $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escapeSimple($p['user']), $this->config['host'])); + $sql_result = $dbh->query(preg_replace('/%u/', $dbh->escape($p['user']), $this->config['host'])); if ($sql_arr = $dbh->fetch_array($sql_result)) { $p['host'] = $sql_arr[0]; |