diff options
-rw-r--r-- | inc/lang/ar/lang.php | 129 | ||||
-rw-r--r-- | inc/lang/en/lang.php | 4 | ||||
-rw-r--r-- | inc/subscription.php | 28 | ||||
-rw-r--r-- | inc/template.php | 6 | ||||
-rw-r--r-- | lib/exe/indexer.php | 4 |
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 |