summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Gohr <andi@splitbrain.org>2010-05-08 12:35:51 +0200
committerAndreas Gohr <andi@splitbrain.org>2010-05-08 12:35:51 +0200
commitbe66694cc5d4ff7cad1467f20ab1e55611c97ff6 (patch)
treee8e8f926367a67fcd0c195d318cbd3efb84a45e5
parentdd512d246ef7a200ca1137bb267aee87380a2f6c (diff)
parent5f5509e5d91f69877aa6bd3b1cba15267e539fe2 (diff)
downloadrpg-be66694cc5d4ff7cad1467f20ab1e55611c97ff6.tar.gz
rpg-be66694cc5d4ff7cad1467f20ab1e55611c97ff6.tar.bz2
Merge branch 'master' of github.com:splitbrain/dokuwiki
-rw-r--r--inc/lang/ar/lang.php129
-rw-r--r--inc/lang/en/lang.php4
-rw-r--r--inc/subscription.php28
-rw-r--r--inc/template.php6
-rw-r--r--lib/exe/indexer.php4
5 files changed, 103 insertions, 68 deletions
diff --git a/inc/lang/ar/lang.php b/inc/lang/ar/lang.php
index fcf26bf6a..30095347e 100644
--- a/inc/lang/ar/lang.php
+++ b/inc/lang/ar/lang.php
@@ -14,88 +14,89 @@ $lang['doublequoteclosing'] = '”';
$lang['singlequoteopening'] = '‘';
$lang['singlequoteclosing'] = '’';
$lang['apostrophe'] = '؛';
-$lang['btn_edit'] = 'تحرير هذه الصفحة';
-$lang['btn_source'] = 'عرض مصدر الصفحة';
-$lang['btn_show'] = 'عرض الصفحة';
-$lang['btn_create'] = 'إنشاء هذه الصفحة';
-$lang['btn_search'] = 'بحث';
-$lang['btn_save'] = 'حفظ';
-$lang['btn_preview'] = 'استعراض';
-$lang['btn_top'] = 'لأعلى';
+$lang['btn_edit'] = 'حرر هذه الصفحة';
+$lang['btn_source'] = 'اعرض مصدر الصفحة';
+$lang['btn_show'] = 'اعرض الصفحة';
+$lang['btn_create'] = 'أنشئ هذه الصفحة';
+$lang['btn_search'] = 'ابحث';
+$lang['btn_save'] = 'احفظ';
+$lang['btn_preview'] = 'عاين';
+$lang['btn_top'] = 'ارجع للأعلى';
$lang['btn_newer'] = '<< أحدث';
$lang['btn_older'] = 'أقدم >>';
$lang['btn_revs'] = 'نسخ قديمة';
-$lang['btn_recent'] = 'أحدث التعديلات';
-$lang['btn_upload'] = 'تحميل';
-$lang['btn_cancel'] = 'إلغاء';
+$lang['btn_recent'] = 'أحدث التغييرات';
+$lang['btn_upload'] = 'ارفع';
+$lang['btn_cancel'] = 'ألغ';
$lang['btn_index'] = 'فهرس';
-$lang['btn_secedit'] = 'تحرير';
-$lang['btn_login'] = 'دخول';
-$lang['btn_logout'] = 'خروج';
+$lang['btn_secedit'] = 'حرر';
+$lang['btn_login'] = 'لج';
+$lang['btn_logout'] = 'اخرج';
$lang['btn_admin'] = 'المدير';
-$lang['btn_update'] = 'تحديث';
-$lang['btn_delete'] = 'حذف';
-$lang['btn_back'] = 'رجوع';
+$lang['btn_update'] = 'حدّث';
+$lang['btn_delete'] = 'احذف';
+$lang['btn_back'] = 'ارجع';
$lang['btn_backlink'] = 'ارتباطات';
-$lang['btn_backtomedia'] = 'رجوع إلى اختيار ملف الوسائط';
-$lang['btn_subscribe'] = 'اشترك في التعديلات';
-$lang['btn_profile'] = 'تحديث الملف الشخصي';
-$lang['btn_reset'] = 'تفريغ';
-$lang['btn_resendpwd'] = 'إرسال كلمة مرور جديدة';
-$lang['btn_draft'] = 'تحرير المسوّدة';
-$lang['btn_recover'] = 'استعادة المسوّدة';
-$lang['btn_draftdel'] = 'حذف المسوّدة';
-$lang['btn_revert'] = 'إعادة';
-$lang['loggedinas'] = 'دخول باسم';
-$lang['user'] = 'اسم المشترك';
-$lang['pass'] = 'كلمة المرور';
-$lang['newpass'] = 'كلمة مرور جديدة';
-$lang['oldpass'] = 'تأكيد كلمة المرور الحالية';
+$lang['btn_backtomedia'] = 'ارجع إلى اختيار ملف الوسائط';
+$lang['btn_subscribe'] = 'ادر الاشتراكات';
+$lang['btn_profile'] = 'حدث الملف الشخصي';
+$lang['btn_reset'] = 'صفّر';
+$lang['btn_resendpwd'] = 'ارسل كلمة سر جديدة';
+$lang['btn_draft'] = 'حرر المسودة';
+$lang['btn_recover'] = 'استرجع المسودة';
+$lang['btn_draftdel'] = 'احذف المسوّدة';
+$lang['btn_revert'] = 'استعد
+';
+$lang['loggedinas'] = 'داخل باسم';
+$lang['user'] = 'اسم المستخدم';
+$lang['pass'] = 'كلمة السر';
+$lang['newpass'] = 'كلمة سر جديدة';
+$lang['oldpass'] = 'أكد كلمة السر الحالية';
$lang['passchk'] = 'مرة أخرى';
$lang['remember'] = 'تذكرني';
$lang['fullname'] = 'الاسم الكامل';
$lang['email'] = 'البريد الإلكتروني';
-$lang['register'] = 'تسجيل';
+$lang['register'] = 'سجّل';
$lang['profile'] = 'الملف الشخصي';
-$lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة المرور غير صحيحة';
+$lang['badlogin'] = 'عذرا، اسم المشترك أو كلمة السر غير صحيحة';
$lang['minoredit'] = 'تعديلات طفيفة';
-$lang['draftdate'] = 'تشغيل حفظ المسوّدة آلياً';
+$lang['draftdate'] = 'حفظ المسودات تلقائيا مشغل';
$lang['nosecedit'] = 'غُيرت الصفحة في هذه الأثناء، معلومات الفقرة اصبحت قديمة. حُمُلت كل الصفحة بدلا.';
-$lang['regmissing'] = 'عذرا، يجب ملء جميع الخانات';
-$lang['reguexists'] = 'عذرا، يوجد مشترك بنفس الاسم';
-$lang['regsuccess'] = 'تم تسجيل المشترك و أرسلت كلمة المرور عبر البريد الإلكتروني';
-$lang['regsuccess2'] = 'تم إنشاء المشترك';
-$lang['regmailfail'] = 'حدث خطأ فى إرسال رسالة كلمة المرور. يرجى مراسلة المدير';
-$lang['regbadmail'] = 'البريد الإلكتروني المعطى غير صحيح، إن كنت تظن الخطأ من الموقع راسل المدير';
-$lang['regbadpass'] = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى';
-$lang['regpwmail'] = 'كلمة مرورك إلى دوكي ويكي';
-$lang['reghere'] = 'لست مشتركاً؟ تفضل اشترك';
+$lang['regmissing'] = 'عذرا، يجب ملء جميع الحقول';
+$lang['reguexists'] = 'عذرا، يوجد مشترك بنفس الاسم.';
+$lang['regsuccess'] = 'أنشئ المستخدم و ارسلت كلمة السر بالبريد.';
+$lang['regsuccess2'] = 'أنشئ المستخدم.';
+$lang['regmailfail'] = 'حدث خطأ فى إرسال رسالة كلمة اسرر. يرجى مراسلة المدير';
+$lang['regbadmail'] = 'يبدو البريد الإلكتروني المعطى غير صحيح، إن كنت تظن أن هذا خطأ، راسل المدير';
+$lang['regbadpass'] = 'كلمتى المرور غير متطابقتين، حاول مرة أخرى.';
+$lang['regpwmail'] = 'كلمة مرورك إلى دوكو ويكي';
+$lang['reghere'] = 'ليس لديك حساب بعد؟ احصل على واحد';
$lang['profna'] = 'هذه الويكي لا تدعم تعديل الملف الشخصي';
-$lang['profnochange'] = 'لا تغييرات، لا شيء مطلوب عمله';
-$lang['profnoempty'] = 'ليس مسموحاً ترك الاسم أو البريد الإلكتروني فارغاً';
-$lang['profchanged'] = 'تم تحديث الملف الشخصي بنجاح';
-$lang['pwdforget'] = 'نسيت كلمة المرور؟ احصل على واحدة جديدة';
-$lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور';
-$lang['resendpwd'] = 'إرسال كلمة المرور إلى';
-$lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ جميع الخانات';
-$lang['resendpwdnouser'] = 'عذراً، لدينا هذا المشترك في قاعدة بياناتنا';
-$lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد أنك استخدمت كامل وصلة التأكيد';
-$lang['resendpwdconfirm'] = 'تم إرسال وصلة تأكيد إلى بريدك الإلكتروني';
-$lang['resendpwdsuccess'] = 'كلمة مرورك الجديدة تم إرسالها عبر البريد الإلكتروني';
+$lang['profnochange'] = 'لا تغييرات، لا شيء ليُعمل.';
+$lang['profnoempty'] = 'غير مسموح باسم مستخدم أو بريد فارغ.';
+$lang['profchanged'] = 'حُدث الملف الشخصي للمستخدم بنجاح.';
+$lang['pwdforget'] = 'أنسيت كلمة السر؟ احصل على واحدة جديدة';
+$lang['resendna'] = 'هذه الويكي لا تدعم إعادة إرسال كلمة المرور.';
+$lang['resendpwd'] = 'إرسال كلمة مرور';
+$lang['resendpwdmissing'] = 'عذراّ، يجب أن تملأ كل الحقول.';
+$lang['resendpwdnouser'] = 'عذراً، لم نجد المستخدم هذا في قاعدة بياناتنا.';
+$lang['resendpwdbadauth'] = 'عذراً، رمز التفعيل هذا غير صحيح. نأكد من استخدامك كامل وصلة التأكيد.';
+$lang['resendpwdconfirm'] = 'أرسل رابط التأكيد بواسطة البريد.';
+$lang['resendpwdsuccess'] = 'كلمة السرالجديدة إرسلت عبر البريد.';
$lang['license'] = 'مالم يشر لخلاف ذلك، فإن المحتوى على هذه الويكي مرخص وفق الرخصة التالية:';
$lang['licenseok'] = 'لاحظ: بتحرير هذه الصفحة أنت توافق على ترخيص محتواها تحت الرخصة التالية:';
-$lang['searchmedia'] = 'البحث عن اسم الملف : ';
+$lang['searchmedia'] = 'ابحث في اسماء الملفات:';
$lang['searchmedia_in'] = 'ابحث في %s';
-$lang['txt_upload'] = 'اختر ملفاً للتحميل';
-$lang['txt_filename'] = 'تحميل باسم - اختياري';
-$lang['txt_overwrt'] = 'الكتابة على ملف موجود بنفس الاسم مسموحة';
-$lang['lockedby'] = 'حالياً مقفول بواسطة';
-$lang['lockexpire'] = 'سينتهي القفل في';
-$lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة. لتجنب التعارض استخدم زر استعراض لبدأ القفل من جديد';
-$lang['js']['notsavedyet'] = 'التعديلات التي لم تحفظ ستفقد. أموافق ؟';
-$lang['js']['searchmedia'] = 'البحث عن الملفات';
+$lang['txt_upload'] = 'اختر ملفاً للرفع';
+$lang['txt_filename'] = 'رفع كـ (اختياري)';
+$lang['txt_overwrt'] = 'اكتب على ملف موجود';
+$lang['lockedby'] = 'حالياً مقفل بواسطة';
+$lang['lockexpire'] = 'ينتهي القفل في';
+$lang['willexpire'] = 'سينتهي قفل تحرير هذه الصفحه خلال دقيقة.\nلتجنب التعارض استخدم زر المعاينة لتصفير مؤقت القفل.';
+$lang['js']['notsavedyet'] = 'التعديلات غير المحفوظة ستفقد. اكمل فعلا؟';
+$lang['js']['searchmedia'] = 'ابحث عن ملفات';
$lang['js']['keepopen'] = 'أبقي النافذة مفتوحة أثناء الاختيار';
-$lang['js']['hidedetails'] = 'إخفاء التفاصيل';
+$lang['js']['hidedetails'] = 'أخف التفاصيل';
$lang['js']['mediatitle'] = 'اعدادات الرابط';
$lang['js']['mediadisplay'] = 'نوع الرابط';
$lang['js']['mediaalign'] = 'المحاذاة';
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index 2dfed59dc..4a96e373e 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -247,8 +247,8 @@ $lang['subscr_m_unsubscribe'] = 'Unsubscribe';
$lang['subscr_m_subscribe'] = 'Subscribe';
$lang['subscr_m_receive'] = 'Receive';
$lang['subscr_style_every'] = 'email on every change';
-$lang['subscr_style_digest'] = 'digest email of changes for each page';
-$lang['subscr_style_list'] = 'list of changed pages since last email';
+$lang['subscr_style_digest'] = 'digest email of changes for each page (every %.2f days)';
+$lang['subscr_style_list'] = 'list of changed pages since last email (every %.2f days)';
/* auth.class language support */
diff --git a/inc/subscription.php b/inc/subscription.php
index e5938d9bd..ce5da4cd4 100644
--- a/inc/subscription.php
+++ b/inc/subscription.php
@@ -9,6 +9,8 @@
* - subscription_set
* - get_info_subscribed
* - subscription_addresslist
+ * - subscription_lock
+ * - subscription_unlock
*
* @author Adrian Lang <lang@cosmocode.de>
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
@@ -37,6 +39,32 @@ function subscription_filename($id) {
}
/**
+ * Lock subscription info for an ID
+ *
+ * @param string $id The target page or namespace, specified by id; Namespaces
+ * are identified by appending a colon.
+ *
+ * @author Adrian Lang <lang@cosmocode.de>
+ */
+function subscription_lock($id) {
+ $lockf = subscription_filename($id) . '.lock';
+ return !file_exists($lockf) && touch($lockf);
+}
+
+/**
+ * Unlock subscription info for an ID
+ *
+ * @param string $id The target page or namespace, specified by id; Namespaces
+ * are identified by appending a colon.
+ *
+ * @author Adrian Lang <lang@cosmocode.de>
+ */
+function subscription_unlock($id) {
+ $lockf = subscription_filename($id) . '.lock';
+ return file_exists($lockf) && unlink($lockf);
+}
+
+/**
* Set subscription information
*
* Allows to set subscription informations for permanent storage in meta files.
diff --git a/inc/template.php b/inc/template.php
index 3eda2f4af..c1e3e76ab 100644
--- a/inc/template.php
+++ b/inc/template.php
@@ -1347,6 +1347,7 @@ function tpl_subscribe() {
global $INFO;
global $ID;
global $lang;
+ global $conf;
echo p_locale_xhtml('subscr_form');
echo '<h2>' . $lang['subscr_m_current_header'] . '</h2>';
@@ -1387,10 +1388,11 @@ function tpl_subscribe() {
$ID => '<code class="page">'.prettyprint_id($ID).'</code>',
$ns => '<code class="ns">'.prettyprint_id($ns).'</code>',
);
+ $stime_days = $conf['subscribe_time']/60/60/24;
$styles = array(
'every' => $lang['subscr_style_every'],
- 'digest' => $lang['subscr_style_digest'],
- 'list' => $lang['subscr_style_list'],
+ 'digest' => sprintf($lang['subscr_style_digest'], $stime_days),
+ 'list' => sprintf($lang['subscr_style_list'], $stime_days),
);
$form = new Doku_Form(array('id' => 'subscribe__form'));
diff --git a/lib/exe/indexer.php b/lib/exe/indexer.php
index eb5670005..7e55915f4 100644
--- a/lib/exe/indexer.php
+++ b/lib/exe/indexer.php
@@ -353,6 +353,9 @@ function sendDigest() {
$olduser = $_SERVER['REMOTE_USER'];
foreach($subscriptions as $id => $users) {
+ if (!subscription_lock($id)) {
+ continue;
+ }
foreach($users as $data) {
list($user, $style, $lastupdate) = $data;
$lastupdate = (int) $lastupdate;
@@ -399,6 +402,7 @@ function sendDigest() {
// Update notification time.
subscription_set($user, $id, $style, time(), true);
}
+ subscription_unlock($id);
}
// restore current user info