diff --git a/classes/api/balance_op.php b/classes/api/balance_op.php index 25d81c67..589ed220 100644 --- a/classes/api/balance_op.php +++ b/classes/api/balance_op.php @@ -16,12 +16,14 @@ namespace enrol_wallet\api; +defined('MOODLE_INTERNAL') || die(); +global $CFG; +require_once("$CFG->dirroot/enrol/wallet/externalclasses.php"); use external_api; use external_function_parameters; use external_description; use external_single_structure; use external_value; - /** * Class balance_op * @@ -37,7 +39,7 @@ class balance_op extends external_api { */ public static function get_balance_details_parameters() { return new external_function_parameters([ - 'userid' => new external_value(PARAM_INT, 'The id of the user', VALUE_OPTIONAL, 0), + 'userid' => new external_value(PARAM_INT, 'The id of the user', VALUE_DEFAULT, 0), ]); } /** diff --git a/classes/api/instance.php b/classes/api/instance.php index 55d392e2..f4236789 100644 --- a/classes/api/instance.php +++ b/classes/api/instance.php @@ -16,8 +16,12 @@ namespace enrol_wallet\api; +defined('MOODLE_INTERNAL') || die(); +global $CFG; +require_once("$CFG->dirroot/enrol/wallet/externalclasses.php"); use external_api; use external_function_parameters; +use external_description; use external_single_structure; use external_value; use enrol_wallet\util\instance as helper; diff --git a/classes/api/offers_form.php b/classes/api/offers_form.php index d16d3a01..bfff489f 100644 --- a/classes/api/offers_form.php +++ b/classes/api/offers_form.php @@ -16,6 +16,9 @@ namespace enrol_wallet\api; +defined('MOODLE_INTERNAL') || die(); +global $CFG; +require_once("$CFG->dirroot/enrol/wallet/externalclasses.php"); use external_api; use external_function_parameters; use external_description; diff --git a/externalclasses.php b/externalclasses.php new file mode 100644 index 00000000..220d8774 --- /dev/null +++ b/externalclasses.php @@ -0,0 +1,43 @@ +. + +/** + * wallet enrol plugin external classes including. + * + * @package enrol_wallet + * @copyright 2023 Mo Farouk + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +defined('MOODLE_INTERNAL') || die(); +global $CFG; + +if ($CFG->version >= 2023042400) { + class_alias(\core_external\external_api::class, 'external_api'); + class_alias(\core_external\restricted_context_exception::class, 'restricted_context_exception'); + class_alias(\core_external\external_description::class, 'external_description'); + class_alias(\core_external\external_value::class, 'external_value'); + class_alias(\core_external\external_format_value::class, 'external_format_value'); + class_alias(\core_external\external_single_structure::class, 'external_single_structure'); + class_alias(\core_external\external_multiple_structure::class, 'external_multiple_structure'); + class_alias(\core_external\external_function_parameters::class, 'external_function_parameters'); + class_alias(\core_external\util::class, 'external_util'); + class_alias(\core_external\external_files::class, 'external_files'); + class_alias(\core_external\external_warnings::class, 'external_warnings'); + class_alias(\core_external\external_settings::class, 'external_settings'); +} else { + require_once("$CFG->libdir/externallib.php"); +} diff --git a/externallib.php b/externallib.php index 4fe274c1..2448e155 100644 --- a/externallib.php +++ b/externallib.php @@ -24,8 +24,9 @@ defined('MOODLE_INTERNAL') || die(); -require_once("$CFG->libdir/externallib.php"); +global $CFG; require_once("$CFG->dirroot/enrol/wallet/lib.php"); +require_once("$CFG->dirroot/enrol/wallet/externalclasses.php"); use enrol_wallet\util\balance; diff --git a/extra/action.php b/extra/action.php new file mode 100644 index 00000000..8ee7ec0b --- /dev/null +++ b/extra/action.php @@ -0,0 +1,175 @@ +. + +/** + * Enrol wallet action after submit the coupon code. + * + * @package enrol_wallet + * @copyright 2023 Mohammad Farouk + * @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require_once('../../../config.php'); +require_once(__DIR__.'/../lib.php'); +global $DB, $USER; + +require_login(); +$mform = new enrol_wallet\form\applycoupon_form(); +$data = $mform->get_data(); + +$cancel = optional_param('cancel', '', PARAM_TEXT); +$url = optional_param('url', '', PARAM_URL); +$redirecturl = !empty($url) ? new moodle_url('/'.$url) : new moodle_url('/'); + +if ($cancel) { + // Important to unset the session coupon. + if (isset($_SESSION['coupon'])) { + $_SESSION['coupon'] = ''; + unset($_SESSION['coupon']); + } + redirect($redirecturl); +} + +$userid = $USER->id; + +$coupon = required_param('coupon', PARAM_TEXT); +$instanceid = optional_param('instanceid' , '', PARAM_INT); +$courseid = optional_param('courseid', 0, PARAM_INT); +$cmid = optional_param('cmid', 0, PARAM_INT); +$sectionid = optional_param('sectionid', 0, PARAM_INT); + +$couponsetting = get_config('enrol_wallet', 'coupons'); + +if (!confirm_sesskey()) { + throw new moodle_exception('invalidsesskey'); +} + +// Get the coupon data. +$coupondata = enrol_wallet\transactions::get_coupon_value($coupon, $userid, $instanceid, false, $cmid, $sectionid); +if (empty($coupondata) || is_string($coupondata)) { + $msg = get_string('coupon_applyerror', 'enrol_wallet', $coupondata); + $msgtype = 'error'; + // This mean that the function return error. +} else { + $wallet = new enrol_wallet_plugin; + + $value = $coupondata['value'] ?? 0; + $type = $coupondata['type']; + + // Check the type to determine what to do. + if ($type == 'fixed') { + + // Apply the coupon code to add its value to the user's wallet and enrol if value is enough. + enrol_wallet\transactions::apply_coupon($coupondata, $userid, $instanceid); + $currency = get_config('enrol_wallet', 'currency'); + $a = [ + 'value' => $value, + 'currency' => $currency, + ]; + $msg = get_string('coupon_applyfixed', 'enrol_wallet', $a); + $msgtype = 'success'; + + } else if ($type == 'percent' && + ($couponsetting == $wallet::WALLET_COUPONSDISCOUNT + || $couponsetting == $wallet::WALLET_COUPONSALL) + && !empty($instanceid)) { + // Percentage discount coupons applied in enrolment. + $id = $DB->get_field('enrol', 'courseid', ['id' => $instanceid, 'enrol' => 'wallet'], IGNORE_MISSING); + + if ($id) { + + $redirecturl = new moodle_url('/enrol/index.php', ['id' => $id, 'coupon' => $coupon]); + $msg = get_string('coupon_applydiscount', 'enrol_wallet', $value); + $msgtype = 'success'; + + } else { + + $msg = get_string('coupon_applynocourse', 'enrol_wallet'); + $msgtype = 'error'; + + } + + } else if ($type == 'percent' && + ($couponsetting == $wallet::WALLET_COUPONSDISCOUNT + || $couponsetting == $wallet::WALLET_COUPONSALL) + && (!empty($cmid) || !empty($sectionid))) { + + // This is the case when the coupon applied by availability wallet. + $_SESSION['coupon'] = $coupon; + + $redirecturl = new moodle_url('/'.$url, ['coupon' => $coupon]); + $msg = get_string('coupon_applydiscount', 'enrol_wallet', $value); + $msgtype = 'success'; + + } else if ($type == 'category' && !empty($instanceid) && !empty($coupondata['category'])) { + // This type of coupons is restricted to be used in certain categories. + $course = $wallet->get_course_by_instance_id($instanceid); + $ok = false; + if ($coupondata['category'] == $course->category) { + $ok = true; + } else { + $parents = core_course_category::get($course->category)->get_parents(); + if (in_array($coupondata['category'], $parents)) { + $ok = true; + } + } + + $redirecturl = new moodle_url('/enrol/index.php', ['id' => $course->id]); + + if ($ok) { + enrol_wallet\transactions::get_coupon_value($coupon, $userid, $instanceid, true); + $msg = get_string('coupon_categoryapplied', 'enrol_wallet'); + $msgtype = 'success'; + } else { + $categoryname = core_course_category::get($coupondata['category'])->get_nested_name(false); + $msg = get_string('coupon_categoryfail', 'enrol_wallet', $categoryname); + $msgtype = 'error'; + } + + } else if ($type == 'enrol' && !empty($instanceid) && !empty($coupondata['courses'])) { + // This type has no value, it used to enrol the user direct to the course. + $courseid = $DB->get_field('enrol', 'courseid', ['id' => $instanceid, 'enrol' => 'wallet'], IGNORE_MISSING); + + if (in_array($courseid, $coupondata['courses'])) { + // Apply the coupon and enrol the user. + enrol_wallet\transactions::get_coupon_value($coupon, $userid, $instanceid, true); + + $msg = get_string('coupon_enrolapplied', 'enrol_wallet'); + $msgtype = 'success'; + } else { + $available = ''; + foreach ($coupondata['courses'] as $courseid) { + $coursename = get_course($courseid)->fullname; + $available .= '- ' . $coursename . '
'; + } + + $msg = get_string('coupon_enrolerror', 'enrol_wallet', $available); + $msgtype = 'error'; + } + + } else if (($type == 'percent' || $type == 'course' || $type == 'category') && empty($instanceid)) { + + $msg = get_string('coupon_applynothere', 'enrol_wallet'); + $msgtype = 'error'; + + } else { + + $msg = get_string('invalidcoupon_operation', 'enrol_wallet'); + $msgtype = 'error'; + } +} + +redirect($redirecturl, $msg, null, $msgtype); diff --git a/extra/generator.php b/extra/generator.php new file mode 100644 index 00000000..7aaa1a8f --- /dev/null +++ b/extra/generator.php @@ -0,0 +1,113 @@ +. + +/** + * Action page to generate coupons. + * + * @package enrol_wallet + * @copyright 2023 Mo Farouk + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +require_once('../../../config.php'); +require_once($CFG->dirroot.'/enrol/wallet/locallib.php'); +require_login(); +require_capability('enrol/wallet:createcoupon', context_system::instance()); +$method = required_param('method', PARAM_TEXT); + +if ($method == 'single') { + $code = required_param('code', PARAM_TEXT); + $number = 1; + $length = ''; + $characters = []; +} else if ($method == 'random') { + $code = ''; + $number = required_param('number', PARAM_INT); + $length = required_param('length', PARAM_INT); + $characters = required_param_array('characters', PARAM_BOOL); +} + +$value = optional_param('value', 0, PARAM_FLOAT); +$type = required_param('type', PARAM_TEXT); +$maxusage = required_param('maxusage', PARAM_INT); +$maxperuser = optional_param('maxperuser', 0, PARAM_INT); +$validto = optional_param_array('validto', [], PARAM_INT); +$validfrom = optional_param_array('validfrom', [], PARAM_INT); +$catid = optional_param('category', '', PARAM_INT); +$courses = optional_param_array('courses', '', PARAM_INT); + +$redirecturl = new moodle_url('/enrol/wallet/extra/coupontable.php'); + + +if (!empty($validto)) { + $to = mktime( + $validto['hour'], + $validto['minute'], + 0, + $validto['month'], + $validto['day'], + $validto['year'], + ); +} else { + $to = 0; +} + +if (!empty($validfrom)) { + $from = mktime( + $validfrom['hour'], + $validfrom['minute'], + 0, + $validfrom['month'], + $validfrom['day'], + $validfrom['year'], + ); +} else { + $from = 0; +} + +$options = new stdClass; + +if (!empty($characters)) { + $options->lower = isset($characters['lower']) ? $characters['lower'] : false; + $options->upper = isset($characters['upper']) ? $characters['upper'] : false; + $options->digits = isset($characters['digits']) ? $characters['digits'] : false; +} + +$options->number = $number; +$options->length = $length; +$options->maxusage = $maxusage; +$options->maxperuser = $maxperuser; +$options->from = $from; +$options->to = $to; +$options->type = $type; +$options->value = $value; +$options->code = $code; +$options->category = $catid; +$options->courses = !empty($courses) ? implode(',', $courses) : ''; + +// Generate coupons with the options specified. +if (confirm_sesskey()) { + $ids = enrol_wallet_generate_coupons($options); + + if (is_string($ids)) { + $msg = $ids; + } else { + $count = count($ids); + $msg = get_string('coupons_generation_success', 'enrol_wallet', $count); + } + + redirect($redirecturl, $msg); +} diff --git a/lang/ar/enrol_wallet.php b/lang/ar/enrol_wallet.php index 1dc459d6..950704f7 100644 --- a/lang/ar/enrol_wallet.php +++ b/lang/ar/enrol_wallet.php @@ -37,11 +37,11 @@ $string['awardcreteria_help'] = 'تعمل الجوائز عندما يكمل الطالب المقرر. ما هي نسبة العلامة الكاملة التي يحصل عليها الطالب إذا تجاوزها؟'; $string['awardingdesc'] = 'يحصل المستخدم على جائزة بقيمة {$a->amount} في المقرر {$a->courseshortname} للحصول على {$a->usergrade} من {$a->maxgrade}'; $string['awards'] = 'برنامج الجوائز'; +$string['awards_help'] = 'تمكين أو تعطيل برنامج الجوائز في هذه المقرر'; $string['awardsalter'] = 'تغيير الجوائز'; $string['awardsalter_help'] = 'تغيير حالة برنامج الجوائز'; $string['awardssite'] = 'تمكين الجوائز'; $string['awardssite_help'] = 'تمكين قدرة منشئ المقرر على تعيين الجوائز للمقرر.'; -$string['awards_help'] = 'تمكين أو تعطيل برنامج الجوائز في هذه المقرر'; $string['awardvalue'] = 'قيمة الجائزة'; $string['awardvalue_help'] = 'كم حصل الطالب على كل درجة فوق الشرط؟'; @@ -56,13 +56,13 @@ $string['borrow_period_help'] = 'الفترة التي يقوم فيها المستخدم بإجراء العدد السابق من المعاملات ليكون مؤهلاً للاقتراض.'; $string['borrow_trans'] = 'معاملات الاقتراض'; $string['borrow_trans_help'] = 'عدد المعاملات الائتمانية المطلوبة خلال فترة زمنية معينة، لذا سيكون المستخدم مؤهلاً لاقتراض الرصيد.'; -$string['bulkeditor'] = 'تحرير جماعي للتسجيلات'; -$string['bulkeditor_head'] = 'تحرير التسجيل المجمع (لجميع المستخدمين في المقررات الدراسية المحددة)'; -$string['bulkfolder'] = 'إضافي عن طريق تسجيلات المحفظة'; $string['bulk_instanceshead'] = 'تحرير التسجيل المجمع (لجميع المقررات الدراسية)'; $string['bulk_instancesno'] = 'لم يتم إنشاء أو تحديث أي مثيلات'; $string['bulk_instancestitle'] = 'تحرير مثيلات التسجيل المجمع للمحفظة'; $string['bulk_instancesyes'] = 'تم تحديث نسخ التسجيل {$a->updated} وتم إنشاء {$a->created}.'; +$string['bulkeditor'] = 'تحرير جماعي للتسجيلات'; +$string['bulkeditor_head'] = 'تحرير التسجيل المجمع (لجميع المستخدمين في المقررات الدراسية المحددة)'; +$string['bulkfolder'] = 'إضافي عن طريق تسجيلات المحفظة'; $string['cachedef_balance'] = 'تخزين بيانات عن رصيد المستخدم'; @@ -73,17 +73,27 @@ $string['canntenrolearly'] = 'لا يمكنك التسجيل بعد؛ يبدأ التسجيل في {$a}.'; $string['canntenrollate'] = 'لا يمكنك التسجيل بعد الآن، منذ انتهاء التسجيل في {$a}.'; $string['cashback'] = 'كاشباك'; +$string['cashback_desc'] = 'سوف تحصل على {$a}% كاشباك لكل مرة تشتري محاضرة بإستخدام المحفظة.'; $string['cashbackdesc'] = 'تمت الإضافة عن طريق الاسترداد النقدي بسبب التسجيل في {$a}'; $string['cashbackenable'] = 'تمكين الاسترداد النقدي'; $string['cashbackenable_desc'] = 'عندما يتم تمكين هذا، سيحصل الطالب على نسبة مئوية من مبلغ الاسترداد النقدي في كل مرة يستخدم فيها المحفظة لشراء مقرر تدريبية.'; $string['cashbackpercent'] = 'النسبة المئوية لمبلغ الاسترداد النقدي'; $string['cashbackpercent_help'] = 'النسبة المئوية للمبلغ المسترد للمحفظة من المبلغ المدفوع بواسطة رصيد المحفظة.'; -$string['cashback_desc'] = 'سوف تحصل على {$a}% كاشباك لكل مرة تشتري محاضرة بإستخدام المحفظة.'; $string['catbalance'] = 'رصيد الفئات'; -$string['categorycoupon'] = 'كوبون الفئة'; -$string['categorycoupondisabled'] = 'كوبونات الفئات غير مفعلة.'; $string['category_options'] = 'الفئة'; $string['category_options_help'] = 'مثل الكوبونات الثابتة إلا أنها محظورة للاستخدام إلا في الفئة المختارة'; +$string['categorycoupon'] = 'كوبون الفئة'; +$string['categorycoupondisabled'] = 'كوبونات الفئات غير مفعلة.'; +$string['ch_result_after'] = '

الرصيد بعد العملية: {$a}

'; +$string['ch_result_before'] = '

الرصيد قبل العملية: {$a}

'; +$string['ch_result_error'] = '

ERROR
{$a}
برجاء العودة وإعادة المحاولة

'; +$string['ch_result_info_balance'] = '
+المستخدم: {$a->userfull} لديه رصيد {$a->before} +
'; +$string['ch_result_info_charge'] = ' +
المستخدم: {$a->userfull} الأن لديه رصيد {$a->after} بعد محاسبته بـ {$a->after_before}...
+
'; +$string['ch_result_negative'] = '

هذاالمستخدم لديه رصيد بالسالب

'; $string['characters'] = 'الأحرف في الكود.'; $string['characters_help'] = 'اختر نوع الأحرف في الرموز التي تم إنشاؤها.'; $string['charger_credit_desc'] = 'الشحن يدوياً بمقدار {$a}'; @@ -92,24 +102,14 @@ $string['charger_invalid_operation'] = 'عملية غير صالحة.'; $string['charger_nouser'] = 'لم يتم تحديد مستخدم'; $string['charger_novalue'] = 'لم يتم إدخال قيمة صالحة.'; +$string['charging_value'] = 'قيمة الشحن: '; $string['chargingoperation'] = 'العملية'; $string['chargingoptions'] = 'شحن محفظة المستخدم '; $string['chargingvalue'] = 'القيمة'; -$string['charging_value'] = 'قيمة الشحن: '; $string['checkout'] = 'سيتم خصم {$a->credit_cost} {$a->currency} من رصيدك البالغ {$a->user_balance} {$a->currency}.'; $string['checkout_borrow'] = '{$a->credit_cost} {$a->currency} مطلوب للتسجيل، سيتم خصم رصيدك {$a->user_balance} {$a->currency} واقتراض {$ أ->استعارة}.'; $string['checkout_borrow_discounted'] = '{$a->credit_cost} {$a->currency {$a->after_discount} {$a->currency} المطلوبة للتسجيل، رصيدك سيتم خصم {$a->user_balance} {$a->currency} واقتراض {$a->borrow}.'; $string['checkout_discounted'] = '{$a->credit_cost} {$a->currency {$a->after_discount} {$a->currency} سيتم خصمها من رصيدك من {$a->user_balance} {$a->currency}.'; -$string['ch_result_after'] = '

الرصيد بعد العملية: {$a}

'; -$string['ch_result_before'] = '

الرصيد قبل العملية: {$a}

'; -$string['ch_result_error'] = '

ERROR
{$a}
برجاء العودة وإعادة المحاولة

'; -$string['ch_result_info_balance'] = '
-المستخدم: {$a->userfull} لديه رصيد {$a->before} -
'; -$string['ch_result_info_charge'] = ' -
المستخدم: {$a->userfull} الأن لديه رصيد {$a->after} بعد محاسبته بـ {$a->after_before}...
-
'; -$string['ch_result_negative'] = '

هذاالمستخدم لديه رصيد بالسالب

'; $string['cleanupwalletitemstask'] = 'إزالة السجلات المتبقية من بنود المحفظة'; $string['clear_filter'] = 'مسح عوامل التصفية'; $string['cohortnonmemberinfo'] = 'فقط أعضاء المجموعة \' {$a} \' يمكنهم التسجيل.'; @@ -124,18 +124,13 @@ $string['conditionaldiscount_desc'] = 'شحن المحفظة بسبب الخصومات المشروطة بمقدار {$a->rest} لشحن المحفظة لأكثر من {$a->condition}'; $string['conditionaldiscount_link_desc'] = 'إضافة أو تعديل أو حذف قواعد الخصم المشروط'; $string['conditionaldiscount_percent'] = 'النسبة المئوية لمبلغ الخصم'; -$string['conditionaldiscount_percentage'] = 'النسبة المئوية'; $string['conditionaldiscount_percent_help'] = 'يتم إضافة هذه النسبة إلى المستخدمين. (يطبق فقط لشحن المحفظة)
ملاحظة مهمة: إذا اختار المستخدم تعبئة المحفظة بمقدار 400 وتم ضبط نسبة الخصم على 15%، فسيدفع المستخدم 340 فقط ثم سيتم إضافة 60 تلقائيًا.'; +$string['conditionaldiscount_percentage'] = 'النسبة المئوية'; $string['conditionaldiscount_timefrom'] = 'متاح بعد'; $string['conditionaldiscount_timefrom_help'] = 'متاح بعد التاريخ المحدد، وقبله لا يكون الشرط قابلاً للتطبيق .'; $string['conditionaldiscount_timeto'] = 'متاح حتى'; $string['conditionaldiscount_timeto_help'] = 'متاح حتى التاريخ المحدد، وبعد ذلك التاريخ لم يعد الشرط قابلاً للتطبيق.'; -$string['confirmbulkdeleteenrolment'] = 'هل أنت متأكد من رغبتك في حذف تسجيلات المستخدم هذه؟'; -$string['confirmdeletecoupon'] = 'هل أنت متأكد من رغبتك في حذف الكوبونات ذات المعرف {$a}. هذه العملية لا رجعة فيها.'; -$string['confirmedit'] = 'تأكيد التحرير'; -$string['confirmpayment'] = 'تأكيد الدفع بقيمة {$a->value} {$a->currency}. لاحظ أن: الضغط على نعم يعني موافقتك على سياسة استرداد الأموال.
{$a->policy}'; -$string['confirmpayment_discounted'] = 'تأكيد دفع {$a->قبل} {$a->currency {$a->value} {$a->currency}. لاحظ أن: الضغط على نعم يعني موافقتك على سياسة استرداد الأموال.
{$a->policy}'; $string['confirm_additional_credit'] = ' بالإضافة إلى {$a} نتيجة للخصم المتاح.'; $string['confirm_credit'] = 'أنت على وشك إضافة رصيد {$a->amount} للمستخدم {$a->name} اللذي بالفعل محفظته تحتوي على {$a->balance} .'; $string['confirm_debit'] = 'أنت على وشك خصم رصيد {$a->amount} من محفظة المستخدم {$a->name} اللذي عنده رصيد {$a->balance}. الرصيد بعد العملية ينبغي أن يكون {$a->after}'; @@ -148,31 +143,11 @@ هل انت واثق؟'; $string['confirm_enrol_error'] = 'دخول خاطئ لصفحة الإنضمام للكورس.'; $string['confirm_negative'] = 'تحذير رصيد بالسالب: رصيد المستخدم سيصبح بالسالب بعد هذه العملية.'; -$string['coupons'] = 'الكوبونات'; -$string['couponsall'] = 'السماح لجميع الأنواع'; -$string['couponsdeleted'] = 'تم حذف الكوبونات {$a} بنجاح'; -$string['couponsdiscount'] = 'كوبونات الخصم فقط'; -$string['couponsfixed'] = 'كوبونات ذات مبالغ ثابتة فقط'; -$string['couponstype'] = 'السماح بالكوبونات'; -$string['couponstype_help'] = 'اختر إما تعطيل الكوبونات أو السماح بنوع معين أو السماح للجميع.'; -$string['coupons_category_error'] = 'يجب تحديد الفئة'; -$string['coupons_courseserror'] = 'يجب تحديد مقرر واحدة على الأقل.'; -$string['coupons_discount_error'] = 'لا يمكن أن تتجاوز قيمة الخصم 100%'; -$string['coupons_generation_success'] = 'تم إنشاء أكواد الكوبون {$a} بنجاح.'; -$string['coupons_ids'] = 'الأرقام التعريفية للكوبونات مفصولة ب(,)'; -$string['coupons_length'] = 'الطول'; -$string['coupons_length_help'] = 'كم عدد الأحرف في الكوبون الواحدة'; -$string['coupons_maxperuser'] = 'الحد الأقصى للاستخدام / المستخدم'; -$string['coupons_maxperuser_help'] = 'كم مرة يمكن لمستخدم واحد استخدام هذه الكوبون. (0 يعني الحد الأقصى للاستخدام المسموح به)'; -$string['coupons_maxusage'] = 'الحد الأقصى للاستخدام'; -$string['coupons_maxusage_help'] = 'كم مرة يمكن استخدام الكوبون. (0 يعني غير محدود)'; -$string['coupons_number'] = 'عدد الكوبونات'; -$string['coupons_number_help'] = 'الرجاء عدم تعيين عدد كبير حتى لا يتم تحميل قاعدة البيانات بشكل زائد.'; -$string['coupons_uploadcreated'] = 'تم إنشاء كوبونات {$a} بنجاح.'; -$string['coupons_uploaderrors'] = 'تقوم الكوبونات {$a} بحساب الأخطاء ولم يتم تحديثها أو إنشاؤها.'; -$string['coupons_uploadtotal'] = '{$a} من إجمالي الكوبونات في الملف.'; -$string['coupons_uploadupdated'] = 'تم تحديث الكوبون {$a} بنجاح.'; -$string['coupons_valueerror'] = 'القيمة المطلوبة'; +$string['confirmbulkdeleteenrolment'] = 'هل أنت متأكد من رغبتك في حذف تسجيلات المستخدم هذه؟'; +$string['confirmdeletecoupon'] = 'هل أنت متأكد من رغبتك في حذف الكوبونات ذات المعرف {$a}. هذه العملية لا رجعة فيها.'; +$string['confirmedit'] = 'تأكيد التحرير'; +$string['confirmpayment'] = 'تأكيد الدفع بقيمة {$a->value} {$a->currency}. لاحظ أن: الضغط على نعم يعني موافقتك على سياسة استرداد الأموال.
{$a->policy}'; +$string['confirmpayment_discounted'] = 'تأكيد دفع {$a->قبل} {$a->currency {$a->value} {$a->currency}. لاحظ أن: الضغط على نعم يعني موافقتك على سياسة استرداد الأموال.
{$a->policy}'; $string['coupon_applydiscount'] = 'لقد حصلت الآن على خصم بنسبة {$a}%'; $string['coupon_applyerror'] = 'خطأ في رمز الكوبون غير صالح:
{$a}'; $string['coupon_applyfilter'] = 'تطبيق الفلتر'; @@ -182,9 +157,9 @@ $string['coupon_applynothere_category'] = 'لايمكن تطبيق الكوبون هنا حيث أنه مخصص لفئة محددة من الكورسات.'; $string['coupon_applynothere_discount'] = 'لا يمكن إستخدام كوبون الخصم هنا.'; $string['coupon_applynothere_enrol'] = 'لا يمكن إستخدام كوبونات التسجيل في المحاضرات هنا. برجاء إستخدامه في صفحة دخول المقرر'; +$string['coupon_cat_notsufficient'] = 'قيمة هذه الكوبون غير كافية لاستخدامها في هذه المقرر.'; $string['coupon_categoryapplied'] = 'تم تطبيق الكوبون.'; $string['coupon_categoryfail'] = 'عذرًا، يمكن تطبيق هذه الكوبون فقط في هذه الفئة: {$a}'; -$string['coupon_cat_notsufficient'] = 'قيمة هذه الكوبون غير كافية لاستخدامها في هذه المقرر.'; $string['coupon_code'] = 'رمز الكوبون'; $string['coupon_code_applied'] = 'الكوبون {$a} مطبق.'; $string['coupon_code_error'] = 'الرجاء إدخال الرمز أو تحديد طريقة عشوائية'; @@ -215,6 +190,12 @@ $string['coupon_perpage'] = 'كوبونات لكل صفحة'; $string['coupon_resetusetime'] = 'إعادة الضبط المستخدمة'; $string['coupon_resetusetime_help'] = 'أعد ضبط استخدام الكوبون على الصفر.'; +$string['coupon_t_code'] = 'الرمز'; +$string['coupon_t_lastuse'] = 'آخر استخدام'; +$string['coupon_t_timecreated'] = 'وقت الإنشاء'; +$string['coupon_t_type'] = 'النوع'; +$string['coupon_t_usage'] = 'الاستخدام'; +$string['coupon_t_value'] = 'القيمة'; $string['coupon_table'] = 'عرض كوبونات المحفظة'; $string['coupon_type'] = 'نوع الكوبونات'; $string['coupon_type_help'] = 'اختر نوع الكوبونات المراد إنشاؤها.
@@ -222,25 +203,44 @@ كوبونات خصم النسبة المئوية: تستخدم للحصول على نسبة خصم على تكلفة المقرر. كوبونات الفئة: نفس الكوبونات الثابتة باستثناء أنه لا يمكن استخدامها في أي مكان، فقط لتسجيل المستخدم في الفئة المحددة. كوبونات المقررات: هذه الكوبونات ليس لها أي قيمة، فهي تستخدم لتسجيل المستخدمين في إحدى المقررات المختارة.'; -$string['coupon_t_code'] = 'الرمز'; -$string['coupon_t_lastuse'] = 'آخر استخدام'; -$string['coupon_t_timecreated'] = 'وقت الإنشاء'; -$string['coupon_t_type'] = 'النوع'; -$string['coupon_t_usage'] = 'الاستخدام'; -$string['coupon_t_value'] = 'القيمة'; $string['coupon_update_failed'] = 'فشل تحديث الكوبون.'; $string['coupon_update_success'] = 'تم تحديث الكوبون بنجاح.'; $string['coupon_usage'] = 'سجل استخدام الكوبونات'; $string['coupon_usetimes'] = 'أوقات الاستخدام'; $string['coupon_value'] = 'قيمة الكوبون'; $string['coupon_value_help'] = 'قيمة الكوبون، قيمة ثابتة أو نسبة مخصومة.'; +$string['coupons'] = 'الكوبونات'; +$string['coupons_category_error'] = 'يجب تحديد الفئة'; +$string['coupons_courseserror'] = 'يجب تحديد مقرر واحدة على الأقل.'; +$string['coupons_discount_error'] = 'لا يمكن أن تتجاوز قيمة الخصم 100%'; +$string['coupons_generation_success'] = 'تم إنشاء أكواد الكوبون {$a} بنجاح.'; +$string['coupons_ids'] = 'الأرقام التعريفية للكوبونات مفصولة ب(,)'; +$string['coupons_length'] = 'الطول'; +$string['coupons_length_help'] = 'كم عدد الأحرف في الكوبون الواحدة'; +$string['coupons_maxperuser'] = 'الحد الأقصى للاستخدام / المستخدم'; +$string['coupons_maxperuser_help'] = 'كم مرة يمكن لمستخدم واحد استخدام هذه الكوبون. (0 يعني الحد الأقصى للاستخدام المسموح به)'; +$string['coupons_maxusage'] = 'الحد الأقصى للاستخدام'; +$string['coupons_maxusage_help'] = 'كم مرة يمكن استخدام الكوبون. (0 يعني غير محدود)'; +$string['coupons_number'] = 'عدد الكوبونات'; +$string['coupons_number_help'] = 'الرجاء عدم تعيين عدد كبير حتى لا يتم تحميل قاعدة البيانات بشكل زائد.'; +$string['coupons_uploadcreated'] = 'تم إنشاء كوبونات {$a} بنجاح.'; +$string['coupons_uploaderrors'] = 'تقوم الكوبونات {$a} بحساب الأخطاء ولم يتم تحديثها أو إنشاؤها.'; +$string['coupons_uploadtotal'] = '{$a} من إجمالي الكوبونات في الملف.'; +$string['coupons_uploadupdated'] = 'تم تحديث الكوبون {$a} بنجاح.'; +$string['coupons_valueerror'] = 'القيمة المطلوبة'; +$string['couponsall'] = 'السماح لجميع الأنواع'; +$string['couponsdeleted'] = 'تم حذف الكوبونات {$a} بنجاح'; +$string['couponsdiscount'] = 'كوبونات الخصم فقط'; +$string['couponsfixed'] = 'كوبونات ذات مبالغ ثابتة فقط'; +$string['couponstype'] = 'السماح بالكوبونات'; +$string['couponstype_help'] = 'اختر إما تعطيل الكوبونات أو السماح بنوع معين أو السماح للجميع.'; +$string['courses_options'] = 'المقررات'; +$string['courses_options_help'] = 'اختر المقررات لتسجيل المستخدم مباشرة باستخدام هذه الكوبونات.'; $string['coursesrestriction'] = 'قيد آخر للمقرر'; $string['coursesrestriction_help'] = 'فقط المستخدمين المسجلين في أكثر من أو يساوي العدد المطلوب من المقررات المحددة يمكنهم شراء هذه المقرر.'; $string['coursesrestriction_num'] = 'عدد المقررات المطلوبة'; $string['coursesrestriction_num_help'] = 'اختر الحد الأدنى من المقررات المطلوبة التي يجب على المستخدم تسجيلها لشراء هذه المقرر باستخدام هذا المثال.'; $string['courseswithdiscounts'] = 'محاضرات بها عروض خصم'; -$string['courses_options'] = 'المقررات'; -$string['courses_options_help'] = 'اختر المقررات لتسجيل المستخدم مباشرة باستخدام هذه الكوبونات.'; $string['createdfrom'] = 'تم الإنشاء بعد'; $string['createdto'] = 'تم الإنشاء من قبل'; $string['credit'] = 'شحن'; @@ -252,9 +252,9 @@ $string['currency'] = 'العملة'; $string['currency_help'] = 'اختر عملة الدفع للمقرر.'; $string['customcurrency'] = 'العملة المخصصة'; +$string['customcurrency_desc'] = 'إضافة اسم عملة مخصصة لرصيد المحفظة.
لاحظ أن هذا غير صالح مع استخدام بوابة الدفع الفعلية.
إذا تركت فارغة، فستتم إضافة عملات المحفظة إلى قائمة العملات. '; $string['customcurrencycode'] = 'رمز العملة المخصص'; $string['customcurrencycode_desc'] = 'إضافة رمز للعملة المخصصة، يشبه الدولار الأمريكي ولكن تأكد من أن هذا الرمز غير موجود بالفعل كرمز عملة متاح في بوابات الدفع المتاحة لأنه لن يتم تجاوزه، ولكن يمكنك تجاوزه عملة محفظة Moodle (MWC).'; -$string['customcurrency_desc'] = 'إضافة اسم عملة مخصصة لرصيد المحفظة.
لاحظ أن هذا غير صالح مع استخدام بوابة الدفع الفعلية.
إذا تركت فارغة، فستتم إضافة عملات المحفظة إلى قائمة العملات. '; $string['customwelcomemessage'] = 'رسالة ترحيب مخصصة'; $string['customwelcomemessage_help'] = 'يمكن إضافة رسالة ترحيب مخصصة كنص عادي أو بتنسيق Moodle-auto، بما في ذلك علامات HTML وعلامات متعددة اللغات. @@ -290,11 +290,13 @@ $string['enablerefund_desc'] = 'إذا لم يتم تحديده، فإن كافة الأرصدة من الآن فصاعداً ستكون غير قابلة للاسترداد، لا تنس أن توضح ذلك للمستخدمين في سياسة الاسترداد'; $string['endpoint_error'] = 'خطأ في إرجاع نقطة النهاية'; $string['endpoint_incorrect'] = 'استجابة غير صحيحة'; +$string['enrol_type'] = 'نوع التسجيل'; +$string['enrol_wallet'] = 'التسجيل باستخدام رصيد المحفظة'; $string['enrolcoupon'] = 'تسجيل الكوبون'; $string['enrolcoupondisabled'] = 'كوبونات الدخول المباشر للمقررات غير مفعلة في هذا الموقع.'; $string['enrolenddate'] = 'تاريخ الانتهاء'; -$string['enrolenddaterror'] = 'لا يمكن أن يكون تاريخ انتهاء التسجيل أقدم من تاريخ البدء'; $string['enrolenddate_help'] = 'إذا تم تمكينه، فيمكن للمستخدمين تسجيل أنفسهم حتى هذا التاريخ فقط.'; +$string['enrolenddaterror'] = 'لا يمكن أن يكون تاريخ انتهاء التسجيل أقدم من تاريخ البدء'; $string['enrollmentupdated'] = 'تم تحديث التسجيل (التسجيلات)'; $string['enrolme'] = 'سجلني'; $string['enrolpage_viewed_desc'] = 'المستخدم برقم تعريفي {$a->userid} قد شاهد صفحة الدخول للمقرر ذو الرقم التعريفي id {$a->courseid}.'; @@ -304,8 +306,6 @@ $string['enrolperiod_help'] = 'المدة الزمنية التي يكون فيها التسجيل صالحاً، بدءاً من لحظة قيام المستخدم بالتسجيل بنفسه. في حالة التعطيل، ستكون مدة التسجيل غير محدودة.'; $string['enrolstartdate'] = 'تاريخ البدء'; $string['enrolstartdate_help'] = 'إذا تم تمكينه، فيمكن للمستخدمين تسجيل أنفسهم اعتبارًا من هذا التاريخ فصاعدًا فقط.'; -$string['enrol_type'] = 'نوع التسجيل'; -$string['enrol_wallet'] = 'التسجيل باستخدام رصيد المحفظة'; $string['entervalue'] = 'الرجاء إدخال قيمة.'; $string['equalsto'] = 'يساوي'; $string['event_award'] = 'تم استلام جائزة المحفظة'; @@ -316,9 +316,9 @@ $string['event_coupon_desc'] = 'تم استخدام الكوبون ( {$a->code} ) من قبل المستخدم ذي المعرف {$a->userid}'; $string['event_newuser_gifted'] = 'إهداء مستخدم جديد'; $string['event_newuser_gifted_desc'] = 'مستخدم جديد بالمعرف {$a->userid} مُهدى بمبلغ {$a->amount} كرصيد محفظة.'; -$string['event_transactions'] = 'حدث معاملة المحفظة'; $string['event_transaction_credit_description'] = 'رصيد المحفظة الخاص بالمستخدم بالمعرف {$a->dependentuserid} الذي تم تحصيله بواسطة {$a->amount} {$a->refundable} بواسطة المستخدم بالمعرف {$a->userid }
مزيد من المعلومات: {$a->reason}'; $string['event_transaction_debit_description'] = 'تم خصم رصيد المحفظة الخاص بالمستخدم بالمعرف {$a->availableuserid} بمقدار {$a->amount} بواسطة المستخدم بالمعرف {$a->userid}
more معلومات: {$a->reason}'; +$string['event_transactions'] = 'حدث معاملة المحفظة'; $string['expiredaction'] = 'إجراء انتهاء صلاحية التسجيل'; $string['expiredaction_help'] = 'اختر الإجراء الذي سيتم تنفيذه عند انتهاء صلاحية تسجيل المستخدم. يرجى ملاحظة أنه تتم إزالة بعض بيانات وإعدادات المستخدم من المقرر أثناء إلغاء التسجيل في المقرر.'; $string['expirymessageenrolledbody'] = 'عزيزي {$a->user}، @@ -348,9 +348,9 @@ $string['greaterthanorequal'] = 'أكبر من أو يساوي'; -$string['insufficientbalance'] = 'عذراً، ليس لديك رصيد كافي لهذه العملية. أنت بحاجة إلى {$a->amount} بينما لديك فقط {$a->balance}'; $string['insufficient_balance'] = 'ليس لديك رصيد كافٍ في المحفظة للتسجيل. مطلوب {$a->cost_before} جنيه مصري، ورصيدك هو {$a->user_balance} جنيه مصري.'; $string['insufficient_balance_discount'] = 'ليس لديك رصيد كافٍ في المحفظة للتسجيل. {$a->cost_before}EGP مطلوب {$a->cost_after} جنيه مصري، ورصيدك هو {$a->user_balance} جنيه مصري.'; +$string['insufficientbalance'] = 'عذراً، ليس لديك رصيد كافي لهذه العملية. أنت بحاجة إلى {$a->amount} بينما لديك فقط {$a->balance}'; $string['invalidcoupon_operation'] = 'عملية كوبون غير صالحة، قد يتم تعطيل نوع الكوبون هذا في هذا الموقع أو في حالة التكوين غير الصالح.'; $string['invalidpercentcoupon'] = 'القيمة غير صالحة لنسبة الكوبون، لا يمكن أن تتجاوز 100.'; $string['invalidvalue'] = 'قيمة غير صالحة، الرجاء إدخال قيمة صالحة.'; @@ -368,8 +368,8 @@ $string['mainbalance'] = 'الرصيد الرئيسي: '; $string['maxenrolled'] = 'الحد الأقصى للمستخدمين المسجلين'; -$string['maxenrolledreached'] = 'تم الوصول بالفعل إلى الحد الأقصى لعدد المستخدمين المسموح لهم بالتسجيل.'; $string['maxenrolled_help'] = 'يحدد الحد الأقصى لعدد المستخدمين الذين يمكنهم التسجيل. 0 يعني عدم وجود حد.'; +$string['maxenrolledreached'] = 'تم الوصول بالفعل إلى الحد الأقصى لعدد المستخدمين المسموح لهم بالتسجيل.'; $string['messagebody_credit'] = 'لقد تم خصم مبلغ {$a->amount} من محفظتك}
رصيدك قبل ذلك كان {$a->before} @@ -411,17 +411,18 @@ $string['nonrefundable'] = 'غير قابل للاسترداد'; $string['nonrefundable_transform_desc'] = 'تحويل المعاملة إلى غير قابلة للاسترداد بسبب انتهاء فترة الاسترداد. '; $string['noreferraldata'] = 'لا توجد إحالات سابقة.'; +$string['not_set'] = 'غير محدد'; $string['notequal'] = 'لا يساوي'; $string['noticecondition'] = 'الحد الأدنى لرصيد الإخطار'; $string['noticecondition_desc'] = 'إذا كان الرصيد أصغر من أو يساوي هذا الشرط، فسيظهر إشعار للمستخدم.'; $string['notrefund'] = ' غير قابل للاسترداد (إضافي): '; -$string['not_set'] = 'غير محدد'; $string['offers'] = 'عروض'; $string['offers_ce_desc'] = '{$a->discount}% خصم إنت كنت بالفعل مشترك في {$a->condition} من هذه المقررات:
{$a->courses}'; $string['offers_course_enrol_based'] = 'خصم مبني على الإشتراك في مقررات أخرى'; $string['offers_nc_desc'] = '{$a->discount}% خصم إن كنت بالفعل مشترك في عدد {$a->number} مقررات لنفس الفئة {$a->catname}'; +$string['offers_pf_desc'] = '{$a->discount}% خصم إن كانت خانة الملف الشخصي {$a->field} {$a->op} "{$a->value}"'; $string['offers_pfop_contains'] = 'يحتوي على'; $string['offers_pfop_doesnotcontain'] = 'لا يحتوي على'; $string['offers_pfop_endswith'] = 'يتنهي بـ'; @@ -429,7 +430,6 @@ $string['offers_pfop_isequalto'] = 'يساوي'; $string['offers_pfop_isnotempty'] = 'غير فارغ'; $string['offers_pfop_startswith'] = 'يبدأ بـ'; -$string['offers_pf_desc'] = '{$a->discount}% خصم إن كانت خانة الملف الشخصي {$a->field} {$a->op} "{$a->value}"'; $string['offers_time_desc'] = '{$a->discount}% خصم إن إشتركت في الكورس في الفترة من {$a->from} إلى {$a->to}'; $string['othercourserestriction'] = 'غير قادر على تسجيل نفسك في هذه المقرر إلا إذا كنت مسجلاً في هذه المقررات {$a}'; @@ -537,10 +537,14 @@ $string['topuppayment_desc'] = 'تعبئة المحفظة عن طريق دفع {$a} باستخدام بوابة الدفع.'; $string['topupvalue'] = 'قيمة الشحن'; $string['topupvalue_help'] = 'قيمة تعبئة محفظتك باستخدام طرق الدفع'; -$string['transactions'] = 'معاملات المحفظة'; $string['transaction_perpage'] = 'المعاملات لكل صفحة'; $string['transaction_type'] = 'نوع المعاملة'; +$string['transactions'] = 'معاملات المحفظة'; $string['transfer'] = 'تحويل الرصيد إلى مستخدم آخر'; +$string['transfer_desc'] = 'تمكين أو تعطيل قدرة المستخدمين على تحويل الرصيد إلى مستخدمين آخرين وتحديد رسوم التحويل لكل عملية.'; +$string['transfer_enabled'] = 'النقل إلى مستخدم آخر'; +$string['transfer_enabled_desc'] = 'تمكين أو تعطيل قدرة المستخدمين على تحويل الرصيد إلى مستخدمين آخرين عبر البريد الإلكتروني.'; +$string['transfer_notenabled'] = 'النقل من مستخدم إلى مستخدم \' غير ممكن في هذا الموقع.'; $string['transferfee_desc'] = 'لاحظ أنه سيتم خصم {$a->fee}% من {$a->from}.'; $string['transferfee_from'] = 'خصم الرسوم من:'; $string['transferfee_from_desc'] = 'اختر كيفية خصم الرسوم.
@@ -550,10 +554,6 @@ $string['transferpage'] = 'تحويل الرصيد'; $string['transferpercent'] = 'رسوم التحويل %'; $string['transferpercent_desc'] = 'لتحويل مبلغ ما إلى مستخدم آخر، سيتم خصم نسبة مئوية من المرسل افتراضيًا. اضبطه على 0 حتى لا يتم خصم أي رسوم.'; -$string['transfer_desc'] = 'تمكين أو تعطيل قدرة المستخدمين على تحويل الرصيد إلى مستخدمين آخرين وتحديد رسوم التحويل لكل عملية.'; -$string['transfer_enabled'] = 'النقل إلى مستخدم آخر'; -$string['transfer_enabled_desc'] = 'تمكين أو تعطيل قدرة المستخدمين على تحويل الرصيد إلى مستخدمين آخرين عبر البريد الإلكتروني.'; -$string['transfer_notenabled'] = 'النقل من مستخدم إلى مستخدم \' غير ممكن في هذا الموقع.'; $string['turn_not_refundable_task'] = 'تحويل الرصيد إلى غير قابل للاسترداد.'; @@ -563,6 +563,9 @@ $string['unenrollimitbefor'] = 'لا يمكن إلغاء التسجيل الذاتي قبل:'; $string['unenrollimitbefor_desc'] = 'لا يمكن للمستخدمين إلغاء التسجيل بأنفسهم قبل هذه الفترة من تاريخ انتهاء التسجيل. 0 يعني عدم وجود حد.'; $string['unenrolrefund'] = 'استرداد المبلغ عند إلغاء التسجيل؟'; +$string['unenrolrefund_desc'] = 'في حالة التمكين، سيتم استرداد أموال المستخدمين إذا قاموا بإلغاء تسجيلهم في المقرر.'; +$string['unenrolrefund_head'] = 'استرداد أموال المستخدمين عند إلغاء التسجيل.'; +$string['unenrolrefund_head_desc'] = 'أعد الرسوم المدفوعة للمقرر بعد إلغاء التسجيل فيها.'; $string['unenrolrefundfee'] = 'رسوم النسبة المئوية للاسترداد'; $string['unenrolrefundfee_desc'] = 'اختر النسبة المئوية للمبلغ الذي لن يتم استرداده بعد إلغاء التسجيل كرسوم.'; $string['unenrolrefundperiod'] = 'استرداد الأموال عند فترة سماح إلغاء التسجيل'; @@ -577,16 +580,12 @@ $string['unenrolrefundpolicy_help'] = 'في حالة تمكين استرداد الأموال عند إلغاء التسجيل، ستكون هذه السياسة مرئية للمستخدمين قبل تسجيل أنفسهم في المقررات باستخدام تسجيل المحفظة.
سيتم استبدال {fee} في السياسة بنسبة الرسوم.
سيتم استبدال {period} بفترة السماح بالأيام.'; -$string['unenrolrefund_desc'] = 'في حالة التمكين، سيتم استرداد أموال المستخدمين إذا قاموا بإلغاء تسجيلهم في المقرر.'; -$string['unenrolrefund_head'] = 'استرداد أموال المستخدمين عند إلغاء التسجيل.'; -$string['unenrolrefund_head_desc'] = 'أعد الرسوم المدفوعة للمقرر بعد إلغاء التسجيل فيها.'; +$string['unenrolself_notallowed'] = 'لم تتمكن من إلغاء تسجيلك في هذه المقرر.'; $string['unenrolselfconfirm'] = 'هل تريد فعلاً إلغاء تسجيلك من المقرر "{$a}"؟'; $string['unenrolselfenabled'] = 'تمكين إلغاء التسجيل الذاتي'; $string['unenrolselfenabled_desc'] = 'في حالة التمكين، يُسمح للمستخدمين بإلغاء تسجيل أنفسهم من المقرر الدراسي.'; -$string['unenrolself_notallowed'] = 'لم تتمكن من إلغاء تسجيلك في هذه المقرر.'; $string['unenroluser'] = 'هل تريد حقاً إلغاء تسجيل "{$a->user}" من المقرر الدراسي "{$a->course}؟'; $string['unenrolusers'] = 'إلغاء تسجيل المستخدمين'; -$string['uploadcsvfilerequired'] = 'منفضلك إرفع ملف csv.'; $string['upload_coupons'] = 'كوبونات التحميل'; $string['upload_coupons_help'] = 'قم بتحميل الكوبونات في ملف CSV لإضافة أو تحرير كوبونات المحفظة بشكل مجمّع، يجب أن يحتوي ملف CSV على عمودين أساسيين:
\' code \' : رمز الكوبون المراد إضافتها أو تحديثها.
@@ -601,6 +600,7 @@ \' maxperuser \' : الحد الأقصى للوقت الذي يمكن لمستخدم واحد أن يستخدم فيه كوبون.
\' id \' : معرف الكوبون في حالة تحديثها.'; $string['upload_result'] = 'النتيجة'; +$string['uploadcsvfilerequired'] = 'منفضلك إرفع ملف csv.'; $string['upperletters'] = 'الحالة العلوية'; $string['usedfrom'] = 'مستخدم من'; $string['usedto'] = 'معتاد على'; @@ -639,12 +639,12 @@ إذا لم تكن قد قمت بذلك بالفعل، فيجب عليك تعديل صفحة ملفك الشخصي حتى نتمكن من معرفة المزيد عنك: {$a->profileurl}'; +$string['wordpress_secretkey'] = 'المفتاح السري'; +$string['wordpress_secretkey_help'] = 'يجب على المشرف إضافة أي قيمة هنا ونفس القيمة في إعداد moo-wallet في موقع Wordpress.'; $string['wordpressloggins'] = 'تسجيل دخول/خروج المستخدم من ووردبريس'; $string['wordpressloggins_desc'] = 'إذا كان المستخدمون الممكّنون قد قاموا بتسجيل الدخول والخروج من موقع ووردبريس عندما قاموا بتسجيل الدخول أو الخروج من مودل. (لاحظ أن هذه طريقة واحدة فقط)'; $string['wordpressurl'] = 'عنوان URL الخاص بـWordpress'; $string['wordpressurl_desc'] = 'عنوان url الخاص بـ WordPress مع إضافة woo-wallet (محفظة tera) عليه'; -$string['wordpress_secretkey'] = 'المفتاح السري'; -$string['wordpress_secretkey_help'] = 'يجب على المشرف إضافة أي قيمة هنا ونفس القيمة في إعداد moo-wallet في موقع Wordpress.'; $string['wrongemailformat'] = 'تنسيق بريد إلكتروني خاطئ.'; diff --git a/lang/en/enrol_wallet.php b/lang/en/enrol_wallet.php index 30dd8ae1..f59464db 100644 --- a/lang/en/enrol_wallet.php +++ b/lang/en/enrol_wallet.php @@ -43,11 +43,11 @@ $string['awardcreteria_help'] = 'Awards\' works when the student completed a course. What is the percentage of the full mark the student gets awarded if he exceeds it?'; $string['awardingdesc'] = 'The user get awarded by {$a->amount} in course {$a->courseshortname} for getting {$a->usergrade} out of {$a->maxgrade}'; $string['awards'] = 'Awards program'; +$string['awards_help'] = 'Enable or disable the awards program in this course'; $string['awardsalter'] = 'Alter awards'; $string['awardsalter_help'] = 'Alter the status of awards program'; $string['awardssite'] = 'Enable awards'; $string['awardssite_help'] = 'Enable the ability for the course creator to set awards for the course.'; -$string['awards_help'] = 'Enable or disable the awards program in this course'; $string['awardvalue'] = 'Award value'; $string['awardvalue_help'] = 'How much did the student get for each one grade above the condition?'; @@ -63,19 +63,19 @@ $string['borrow_period_help'] = 'The period for at which the user perform the previous number of transaction to be eligible for borrowing.'; $string['borrow_trans'] = 'Transactions for borrowing'; $string['borrow_trans_help'] = 'Number of credit transactions in a given time period required so the user will be eligible for borrowing balance.'; -$string['bulkeditor'] = 'Bulk edit for enrollments'; -$string['bulkeditor_head'] = 'Bulk Enrollment Edit (for all users in selected courses)'; -$string['bulkfolder'] = 'Extra by wallet enrollments'; $string['bulk_instanceshead'] = 'Bulk Enrollment Edit (for all instances courses)'; $string['bulk_instancesno'] = 'No instances created or updated'; $string['bulk_instancestitle'] = 'Bulk wallet enrol instances edit'; $string['bulk_instancesyes'] = '{$a->updated} enrol instances has been updated AND {$a->created} has been created.'; -$string['bundlevalidin'] = 'valid to be used in'; +$string['bulkeditor'] = 'Bulk edit for enrollments'; +$string['bulkeditor_head'] = 'Bulk Enrollment Edit (for all users in selected courses)'; +$string['bulkfolder'] = 'Extra by wallet enrollments'; $string['bundle_desc'] = 'The bundle description'; $string['bundle_desc_help'] = 'Add a description for this bundle. (ex. enough for 11 courses in the price of 9)'; $string['bundle_value'] = 'Quick top up value'; $string['bundle_value_error'] = 'bundle value should be greater than or equals the condition'; $string['bundle_value_help'] = 'This value must be greater than or equal to the condition. Also make sure this is the value before discount.'; +$string['bundlevalidin'] = 'valid to be used in'; $string['cachedef_balance'] = 'This is store the user\'s balance details'; @@ -86,18 +86,28 @@ $string['canntenrolearly'] = 'You cannot enrol yet; enrolment starts on {$a}.'; $string['canntenrollate'] = 'You cannot enrol any more, since enrolment ended on {$a}.'; $string['cashback'] = 'Cashback'; +$string['cashback_desc'] = 'You will get a {$a}% cashback each time you purchase a course use wallet enrollment method.'; $string['cashbackdesc'] = 'added by cashback due to enrolment in {$a}'; $string['cashbackenable'] = 'Enable cashback'; $string['cashbackenable_desc'] = 'When this is enabled the student will receive a percentage cashback amount each time he uses the wallet to buy a course.'; $string['cashbackpercent'] = 'Percentage amount for cashback'; $string['cashbackpercent_help'] = 'The percentage amount as a cashback to the wallet from the paid amount by the wallet balance.'; -$string['cashback_desc'] = 'You will get a {$a}% cashback each time you purchase a course use wallet enrollment method.'; $string['catbalance'] = 'Category balance'; $string['catbalance_desc'] = 'If enabled, then balance could be specified for each category separately and only be used in this category also there is still there a site balance which could be used anywhere'; -$string['categorycoupon'] = 'Category coupon'; -$string['categorycoupondisabled'] = 'Category coupons disabled.'; $string['category_options'] = 'Category'; $string['category_options_help'] = 'Same as fixed coupons except it is restricted to be used unless in the chosen category'; +$string['categorycoupon'] = 'Category coupon'; +$string['categorycoupondisabled'] = 'Category coupons disabled.'; +$string['ch_result_after'] = '

Balance After: {$a}

'; +$string['ch_result_before'] = '

Balance Before: {$a}

'; +$string['ch_result_error'] = '

ERROR
{$a}
Please go back and check it again

'; +$string['ch_result_info_balance'] = '
+the user: {$a->userfull} is having a balance of {$a->before} +
'; +$string['ch_result_info_charge'] = ' +
the user: {$a->userfull} is now having a balance of {$a->after} after charging him/her by {$a->after_before}...
+
'; +$string['ch_result_negative'] = '

THIS USER HAS A NEGATIVE BALANCE

'; $string['characters'] = 'Characters in code.'; $string['characters_help'] = 'Choose the type of characters in the generated codes.'; $string['charge'] = 'Charge'; @@ -107,24 +117,14 @@ $string['charger_invalid_operation'] = 'Invalid operation.'; $string['charger_nouser'] = 'No user selected'; $string['charger_novalue'] = 'No valid value entered.'; +$string['charging_value'] = 'Charging value: '; $string['chargingoperation'] = 'Operation'; $string['chargingoptions'] = 'Charging user\'s wallet'; $string['chargingvalue'] = 'Value'; -$string['charging_value'] = 'Charging value: '; $string['checkout'] = '{$a->credit_cost} {$a->currency} will be deducted from your balance of {$a->user_balance} {$a->currency}.'; $string['checkout_borrow'] = '{$a->credit_cost} {$a->currency} needed for enrolment, your balance {$a->user_balance} {$a->currency} will be deducted and borrow {$a->borrow}.'; $string['checkout_borrow_discounted'] = '{$a->credit_cost} {$a->currency} {$a->after_discount} {$a->currency} needed for enrolment, your balance {$a->user_balance} {$a->currency} will be deducted and borrow {$a->borrow}.'; $string['checkout_discounted'] = '{$a->credit_cost} {$a->currency} {$a->after_discount} {$a->currency} will be deducted from your balance of {$a->user_balance} {$a->currency}.'; -$string['ch_result_after'] = '

Balance After: {$a}

'; -$string['ch_result_before'] = '

Balance Before: {$a}

'; -$string['ch_result_error'] = '

ERROR
{$a}
Please go back and check it again

'; -$string['ch_result_info_balance'] = '
-the user: {$a->userfull} is having a balance of {$a->before} -
'; -$string['ch_result_info_charge'] = ' -
the user: {$a->userfull} is now having a balance of {$a->after} after charging him/her by {$a->after_before}...
-
'; -$string['ch_result_negative'] = '

THIS USER HAS A NEGATIVE BALANCE

'; $string['cleanupwalletitemstask'] = 'Cleanup orphaned and expired wallet items'; $string['clear_filter'] = 'Clear filters'; $string['cohortnonmemberinfo'] = 'Only members of cohort \'{$a}\' can enrol.'; @@ -139,18 +139,13 @@ $string['conditionaldiscount_desc'] = 'charge wallet due to conditional discounts by {$a->rest} for charging wallet for more than {$a->condition}'; $string['conditionaldiscount_link_desc'] = 'Add, edit or delete conditional discount rules'; $string['conditionaldiscount_percent'] = 'The percentage amount of discount'; -$string['conditionaldiscount_percentage'] = 'Percentage'; $string['conditionaldiscount_percent_help'] = 'The users get credited by this percent. (Applied only for charging the wallet)
Important note: If the user choose to top-up the wallet by 400 and the discount percent set to 15%, the user pay only 340 and then a 60 will be add automatically.'; +$string['conditionaldiscount_percentage'] = 'Percentage'; $string['conditionaldiscount_timefrom'] = 'Available after'; $string['conditionaldiscount_timefrom_help'] = 'Available after the date set, before it the condition isn\'t applicable.'; $string['conditionaldiscount_timeto'] = 'Available till'; $string['conditionaldiscount_timeto_help'] = 'Available till the date set, after it the condition is no longer applicable.'; -$string['confirmbulkdeleteenrolment'] = 'Are you sure you want to delete these user enrollments?'; -$string['confirmdeletecoupon'] = 'Are you sure you want to delete coupons with ids {$a}. This operation is irreversible.'; -$string['confirmedit'] = 'Confirm edit'; -$string['confirmpayment'] = 'Confirm payment of {$a->value} {$a->currency}. Note that: press yes means that you have agreed to refund policy.
{$a->policy}'; -$string['confirmpayment_discounted'] = 'Confirm payment of {$a->before} {$a->currency} {$a->value} {$a->currency}. Note that: press yes means that you have agreed to refund policy.
{$a->policy}'; $string['confirm_additional_credit'] = ' With addition to {$a} due to conditional discount.'; $string['confirm_credit'] = 'You are about to add an amount of {$a->amount} to the user {$a->name} {$a->category} wallet who already got a balance of {$a->balance} valid in it.'; $string['confirm_debit'] = 'You are about to deduct an amount of {$a->amount} from the user {$a->name} in the {$a->category} balance whose current balance is {$a->balance} valid to be used in {$a->category}. The balance after transaction should be {$a->after}'; @@ -162,32 +157,11 @@ Are you sure?'; $string['confirm_enrol_error'] = 'Invalid access to enrol page.'; $string['confirm_negative'] = 'Negative balance warning: the user balance will be with negative value after this transaction.'; -$string['coupons'] = 'Coupons'; -$string['couponsall'] = 'Allow all types'; -$string['couponsdeleted'] = '{$a} Coupons are deleted successfully'; -$string['couponsdiscount'] = 'Discount coupons only'; -$string['couponsfixed'] = 'Fixed amount coupons only'; -$string['couponstype'] = 'Allow coupons'; -$string['couponstype_help'] = 'Choose either to disable coupons, allow certain type or allow all.'; -$string['coupons_category_error'] = 'Must select category'; -$string['coupons_courseserror'] = 'Must select at least one course.'; -$string['coupons_delete_selected'] = 'Delete selected coupons'; -$string['coupons_discount_error'] = 'Discount value cannot exceed 100%'; -$string['coupons_generation_success'] = '{$a} coupon codes successfully generated.'; -$string['coupons_ids'] = 'Coupon id(s) separated by (,)'; -$string['coupons_length'] = 'Length'; -$string['coupons_length_help'] = 'How many characters in a single coupon'; -$string['coupons_maxperuser'] = 'Maximum usage / user'; -$string['coupons_maxperuser_help'] = 'How many time a single user could use this coupon. (0 means max allowed usage)'; -$string['coupons_maxusage'] = 'Maximum usage'; -$string['coupons_maxusage_help'] = 'How many times the coupon could be used. (0 means unlimited)'; -$string['coupons_number'] = 'Number of coupons'; -$string['coupons_number_help'] = 'Please don\'t set a large number to not overload the database.'; -$string['coupons_uploadcreated'] = '{$a} coupons has been successfully created.'; -$string['coupons_uploaderrors'] = '{$a} coupons counters errors and not either updated or created.'; -$string['coupons_uploadtotal'] = '{$a} of total coupons in the file.'; -$string['coupons_uploadupdated'] = '{$a} coupons has been successfully updated.'; -$string['coupons_valueerror'] = 'Value required'; +$string['confirmbulkdeleteenrolment'] = 'Are you sure you want to delete these user enrollments?'; +$string['confirmdeletecoupon'] = 'Are you sure you want to delete coupons with ids {$a}. This operation is irreversible.'; +$string['confirmedit'] = 'Confirm edit'; +$string['confirmpayment'] = 'Confirm payment of {$a->value} {$a->currency}. Note that: press yes means that you have agreed to refund policy.
{$a->policy}'; +$string['confirmpayment_discounted'] = 'Confirm payment of {$a->before} {$a->currency} {$a->value} {$a->currency}. Note that: press yes means that you have agreed to refund policy.
{$a->policy}'; $string['coupon_applydiscount'] = 'You now have discounted by {$a}%'; $string['coupon_applyerror'] = 'ERROR invalid coupon code:
{$a}'; $string['coupon_applyfilter'] = 'Apply filter'; @@ -197,9 +171,9 @@ $string['coupon_applynothere_category'] = 'Cannot apply category coupon here as it is meant to be used in specific category only.'; $string['coupon_applynothere_discount'] = 'Cannot apply discount coupon here.'; $string['coupon_applynothere_enrol'] = 'Cannot apply enrolment coupons here. Please use it on the course page'; +$string['coupon_cat_notsufficient'] = 'The value of this coupon is not sufficient to be used in this course.'; $string['coupon_categoryapplied'] = 'The coupon has been applied.'; $string['coupon_categoryfail'] = 'Sorry, this coupon can be only applied in this category: {$a}'; -$string['coupon_cat_notsufficient'] = 'The value of this coupon is not sufficient to be used in this course.'; $string['coupon_code'] = 'Coupon code'; $string['coupon_code_applied'] = 'Coupon code {$a} applied.'; $string['coupon_code_error'] = 'Please enter a code or select random method'; @@ -230,6 +204,12 @@ $string['coupon_perpage'] = 'Coupons per page'; $string['coupon_resetusetime'] = 'Reset used'; $string['coupon_resetusetime_help'] = 'Reset the usage of the coupon to zero.'; +$string['coupon_t_code'] = 'Code'; +$string['coupon_t_lastuse'] = 'Last use'; +$string['coupon_t_timecreated'] = 'Time Created'; +$string['coupon_t_type'] = 'Type'; +$string['coupon_t_usage'] = 'Usage'; +$string['coupon_t_value'] = 'Value'; $string['coupon_table'] = 'View wallet coupons'; $string['coupon_type'] = 'Type of coupons'; $string['coupon_type_help'] = 'choose the type of coupons to generate.
@@ -237,25 +217,45 @@ Percentage discount coupons: Used to get a percentage discount on the course cost. Category coupons: same as fixed coupons except it cannot be used anywhere, only to enrol user in the selected category. Courses coupons: these coupons has no value, it is used to enrol the users in one of the selected courses.'; -$string['coupon_t_code'] = 'Code'; -$string['coupon_t_lastuse'] = 'Last use'; -$string['coupon_t_timecreated'] = 'Time Created'; -$string['coupon_t_type'] = 'Type'; -$string['coupon_t_usage'] = 'Usage'; -$string['coupon_t_value'] = 'Value'; $string['coupon_update_failed'] = 'Failed to update the coupon.'; $string['coupon_update_success'] = 'The coupon updated successfully.'; $string['coupon_usage'] = 'Coupons usage history'; $string['coupon_usetimes'] = 'Used times'; $string['coupon_value'] = 'Coupon value'; $string['coupon_value_help'] = 'Value of the coupon, fixed or percentage discounted value.'; +$string['coupons'] = 'Coupons'; +$string['coupons_category_error'] = 'Must select category'; +$string['coupons_courseserror'] = 'Must select at least one course.'; +$string['coupons_delete_selected'] = 'Delete selected coupons'; +$string['coupons_discount_error'] = 'Discount value cannot exceed 100%'; +$string['coupons_generation_success'] = '{$a} coupon codes successfully generated.'; +$string['coupons_ids'] = 'Coupon id(s) separated by (,)'; +$string['coupons_length'] = 'Length'; +$string['coupons_length_help'] = 'How many characters in a single coupon'; +$string['coupons_maxperuser'] = 'Maximum usage / user'; +$string['coupons_maxperuser_help'] = 'How many time a single user could use this coupon. (0 means max allowed usage)'; +$string['coupons_maxusage'] = 'Maximum usage'; +$string['coupons_maxusage_help'] = 'How many times the coupon could be used. (0 means unlimited)'; +$string['coupons_number'] = 'Number of coupons'; +$string['coupons_number_help'] = 'Please don\'t set a large number to not overload the database.'; +$string['coupons_uploadcreated'] = '{$a} coupons has been successfully created.'; +$string['coupons_uploaderrors'] = '{$a} coupons counters errors and not either updated or created.'; +$string['coupons_uploadtotal'] = '{$a} of total coupons in the file.'; +$string['coupons_uploadupdated'] = '{$a} coupons has been successfully updated.'; +$string['coupons_valueerror'] = 'Value required'; +$string['couponsall'] = 'Allow all types'; +$string['couponsdeleted'] = '{$a} Coupons are deleted successfully'; +$string['couponsdiscount'] = 'Discount coupons only'; +$string['couponsfixed'] = 'Fixed amount coupons only'; +$string['couponstype'] = 'Allow coupons'; +$string['couponstype_help'] = 'Choose either to disable coupons, allow certain type or allow all.'; +$string['courses_options'] = 'Courses'; +$string['courses_options_help'] = 'Choose the courses to direct enrol the user using these coupons.'; $string['coursesrestriction'] = 'Another course restriction'; $string['coursesrestriction_help'] = 'Only users enrolled in more than or equal the required number from the selected courses could purchase this course.'; $string['coursesrestriction_num'] = 'Number of required courses'; $string['coursesrestriction_num_help'] = 'Select the minimum required courses that the user must be enrolled in to purchase this course using this instance.'; $string['courseswithdiscounts'] = 'Available courses with discounts'; -$string['courses_options'] = 'Courses'; -$string['courses_options_help'] = 'Choose the courses to direct enrol the user using these coupons.'; $string['createdfrom'] = 'Created after'; $string['createdto'] = 'Created before'; $string['credit'] = 'Credit'; @@ -267,9 +267,9 @@ $string['currency'] = 'Currency'; $string['currency_help'] = 'select the currency for payment for the course.'; $string['customcurrency'] = 'Custom currency'; +$string['customcurrency_desc'] = 'Adding custom currency name for the wallet credit.
Note that this is not valid along with using actual payment gateway.
If left blank a Wallet Coins will be added to currencies list.'; $string['customcurrencycode'] = 'Custom currency code'; $string['customcurrencycode_desc'] = 'Adding a code for the custom currency, Something like USD but make sure that this code not already exist as an available currency code in the available payment gateways because it will not be overridden, but you can override Moodle Wallet Coin (MWC).'; -$string['customcurrency_desc'] = 'Adding custom currency name for the wallet credit.
Note that this is not valid along with using actual payment gateway.
If left blank a Wallet Coins will be added to currencies list.'; $string['customwelcomemessage'] = 'Custom welcome message'; $string['customwelcomemessage_help'] = 'A custom welcome message may be added as plain text or Moodle-auto format, including HTML tags and multi-lang tags. @@ -293,11 +293,6 @@ $string['deleteselectedusers'] = 'Delete selected user enrollments'; $string['digits'] = 'Digits (numbers)'; $string['discount'] = 'discount'; -$string['discountcoupondisabled'] = 'Discount coupons disabled in this website.'; -$string['discounts'] = 'Discounts'; -$string['discountscopouns'] = 'Discounts & Coupons'; -$string['discountscopouns_desc'] = 'Choose if you want to apply percentage discounts to users using a custom profile field.
-Also, applying coupons for this plugin.'; $string['discount_behavior'] = 'Discount behavior'; $string['discount_behavior_desc'] = 'Users could be eligible for more than one discount or offer rule, choose how these discounts will be calculated (sequential, sum, max).
* recursive: discount will calculate the cost of the course after discounts and then calculated again for the resulted value with the other discount rule.
@@ -306,6 +301,11 @@ $string['discount_behavior_max'] = 'Apply max discount'; $string['discount_behavior_sequential'] = 'Apply discounts sequentially'; $string['discount_behavior_sum'] = 'Apply the sum of discounts'; +$string['discountcoupondisabled'] = 'Discount coupons disabled in this website.'; +$string['discounts'] = 'Discounts'; +$string['discountscopouns'] = 'Discounts & Coupons'; +$string['discountscopouns_desc'] = 'Choose if you want to apply percentage discounts to users using a custom profile field.
+Also, applying coupons for this plugin.'; $string['editselectedusers'] = 'Edit selected user enrollments'; @@ -313,11 +313,13 @@ $string['enablerefund_desc'] = 'If not checked, all credits from now on will be nonrefundable, don\'t forget to make it clear to users in refund policy'; $string['endpoint_error'] = 'Endpoint return error'; $string['endpoint_incorrect'] = 'Incorrect response'; +$string['enrol_type'] = 'Enrolment type'; +$string['enrol_wallet'] = 'Enrol with wallet balance'; $string['enrolcoupon'] = 'Enrol coupon'; $string['enrolcoupondisabled'] = 'Enrolment coupons are disabled from this website.'; $string['enrolenddate'] = 'End date'; -$string['enrolenddaterror'] = 'Enrolment end date cannot be earlier than start date'; $string['enrolenddate_help'] = 'If enabled, users can enrol themselves until this date only.'; +$string['enrolenddaterror'] = 'Enrolment end date cannot be earlier than start date'; $string['enrollmentupdated'] = 'enrollment(s) has been updated'; $string['enrolme'] = 'Enrol me'; $string['enrolpage_viewed_desc'] = 'The user with id {$a->userid} has viewed the enrol page of the course of id {$a->courseid}.'; @@ -327,8 +329,6 @@ $string['enrolperiod_help'] = 'Length of time that the enrollment is valid, starting with the moment the user enrols themselves. If disabled, the enrollment duration will be unlimited.'; $string['enrolstartdate'] = 'Start date'; $string['enrolstartdate_help'] = 'If enabled, users can enrol themselves from this date onward only.'; -$string['enrol_type'] = 'Enrolment type'; -$string['enrol_wallet'] = 'Enrol with wallet balance'; $string['entervalue'] = 'Please enter a value.'; $string['equalsto'] = 'Equals to'; $string['event_award'] = 'Wallet award received'; @@ -339,9 +339,9 @@ $string['event_coupon_desc'] = 'The coupon ( {$a->code} ) has been used by user of id {$a->userid}'; $string['event_newuser_gifted'] = 'New user gifted'; $string['event_newuser_gifted_desc'] = 'New user with id {$a->userid} gifted by {$a->amount} as a wallet balance.'; -$string['event_transactions'] = 'Wallet Transaction Event'; $string['event_transaction_credit_description'] = 'The wallet balance of the user with id {$a->relateduserid} charged by {$a->amount} {$a->refundable} by user of id {$a->userid}
more info: {$a->reason}'; $string['event_transaction_debit_description'] = 'The wallet balance of the user with id {$a->relateduserid} has been deducted by {$a->amount} by user of id {$a->userid}
more info: {$a->reason}'; +$string['event_transactions'] = 'Wallet Transaction Event'; $string['expiredaction'] = 'Enrolment expiry action'; $string['expiredaction_help'] = 'Select action to carry out when user enrolment expires. Please note that some user data and settings are purged from course during course un-enrolment.'; $string['expirymessageenrolledbody'] = 'Dear {$a->user}, @@ -373,9 +373,9 @@ $string['greaterthanorequal'] = 'Greater than or equal'; -$string['insufficientbalance'] = 'Sorry, you have insufficient balance for this operation. You need {$a->amount} while you have only {$a->balance}'; $string['insufficient_balance'] = 'You have insufficient wallet balance to enroll. {$a->cost_before} {$a->currency} are required, your balance is {$a->user_balance} {$a->currency}.'; $string['insufficient_balance_discount'] = 'You have insufficient wallet balance to enroll. {$a->cost_before} {$a->currency} {$a->cost_after} {$a->currency} are required, your balance is {$a->user_balance} {$a->currency}.'; +$string['insufficientbalance'] = 'Sorry, you have insufficient balance for this operation. You need {$a->amount} while you have only {$a->balance}'; $string['invalidcoupon_operation'] = 'Invalid coupon operation, This coupon type may be disabled is this site or invalid configuration.'; $string['invalidpercentcoupon'] = 'Invalid value for percentage coupon, cannot exceed 100.'; $string['invalidvalue'] = 'Invalid Value, please enter a valid value.'; @@ -394,8 +394,8 @@ $string['mainbalance'] = 'Main balance: '; $string['manualrefundboxlabel'] = 'Check the following box to display the top up options.'; $string['maxenrolled'] = 'Max enrolled users'; -$string['maxenrolledreached'] = 'Maximum number of users allowed to enrol was already reached.'; $string['maxenrolled_help'] = 'Specifies the maximum number of users that can enrol. 0 means no limit.'; +$string['maxenrolledreached'] = 'Maximum number of users allowed to enrol was already reached.'; $string['messagebody_credit'] = 'Your wallet has been charged by {$a->amount}
Your balance before was {$a->before} @@ -438,16 +438,14 @@ $string['nonrefundable'] = 'Nonrefundable'; $string['nonrefundable_transform_desc'] = 'Transform the transaction to non refundable due to expiring of refund period.'; $string['noreferraldata'] = 'No Past Referrals.'; +$string['not_set'] = 'Not set'; $string['notequal'] = 'Not Equal to'; $string['noticecondition'] = 'Min balance for notify'; $string['noticecondition_desc'] = 'If the balance is smaller than or equal to this condition, a notification appears to the user.'; $string['notrefund'] = ' Nonrefundable (extra): '; -$string['not_set'] = 'Not set'; $string['offers'] = 'Offers'; -$string['offersnav'] = 'Add offers in primary navigation'; -$string['offersnav_desc'] = 'or you can click here to add offers to primary navigation'; $string['offers_ce_desc'] = '{$a->discount}% DISCOUNT if you are enrolled in {$a->condition} of these courses:
{$a->courses}'; $string['offers_course_enrol_based'] = 'Another course enrolment based offer'; $string['offers_error_ce'] = 'Please select at least one course'; @@ -464,6 +462,7 @@ $string['offers_nc_desc'] = '{$a->discount}% DISCOUNT if you are already enrolled in at least {$a->number} courses inside the category {$a->catname}'; $string['offers_number_courses_base'] = 'Number of courses based offer'; $string['offers_other_category_courses_based'] = 'number of courses in other category'; +$string['offers_pf_desc'] = '{$a->discount}% DISCOUNT if your profile field {$a->field} {$a->op} "{$a->value}"'; $string['offers_pfop_contains'] = 'Contains'; $string['offers_pfop_doesnotcontain'] = 'Does not contain'; $string['offers_pfop_endswith'] = 'Ends with'; @@ -471,12 +470,13 @@ $string['offers_pfop_isequalto'] = 'Is equal to'; $string['offers_pfop_isnotempty'] = 'Is not empty'; $string['offers_pfop_startswith'] = 'Starts with'; -$string['offers_pf_desc'] = '{$a->discount}% DISCOUNT if your profile field {$a->field} {$a->op} "{$a->value}"'; $string['offers_please_select'] = 'Please select a type of offers to add'; $string['offers_profile_field'] = 'Profile Field'; $string['offers_profile_field_based'] = 'Profile field based offer'; $string['offers_time_based'] = 'Discount in a certain period of time'; $string['offers_time_desc'] = '{$a->discount}% DISCOUNT if you purchase this course in the period from {$a->from} to {$a->to}'; +$string['offersnav'] = 'Add offers in primary navigation'; +$string['offersnav_desc'] = 'or you can click here to add offers to primary navigation'; $string['othercourserestriction'] = 'Unable to enrol yourself in this course unless you are enrolled in at least {$a->number} of these courses {$a->courses}'; @@ -484,9 +484,9 @@ $string['paymentaccount_help'] = 'choose the payment account in which you will accept payments'; $string['paymentrequired'] = 'You can pay for this course directly using available payment methods'; $string['paymenttopup_desc'] = 'Payment to top up the wallet'; +$string['percent_error'] = 'Percentage value should be between 0-100'; $string['percentcoupondisabled'] = 'Discount coupons disabled in this website.'; $string['percentdiscountcoupon'] = 'Percentage discount coupon'; -$string['percent_error'] = 'Percentage value should be between 0-100'; $string['pluginconfig'] = 'Enrol wallet configuration'; $string['pluginname'] = 'Wallet enrolment'; $string['pluginname_desc'] = ''; @@ -640,11 +640,15 @@ $string['topuppayment_desc'] = 'Topping up the wallet by payment of {$a} using payment gateway.'; $string['topupvalue'] = 'TopUp value'; $string['topupvalue_help'] = 'Value to topup your wallet by using payment methods'; -$string['transactions'] = 'Wallet transactions'; -$string['transactions_details'] = 'More transaction details'; $string['transaction_perpage'] = 'Transactions per page'; $string['transaction_type'] = 'Type of transaction'; +$string['transactions'] = 'Wallet transactions'; +$string['transactions_details'] = 'More transaction details'; $string['transfer'] = 'Transfer balance to other user'; +$string['transfer_desc'] = 'Enable or disable the ability of users to transfer balance to other users and determine the transfer fee per each operation.'; +$string['transfer_enabled'] = 'Transfer to other user'; +$string['transfer_enabled_desc'] = 'Enable or disable the ability for users to transfer balance to other users by email.'; +$string['transfer_notenabled'] = 'User to user transfer isn\'t enabled in this site.'; $string['transferfee_desc'] = 'Note that there is a {$a->fee}% will be deducted from the {$a->from}.'; $string['transferfee_from'] = 'Deduct fees from:'; $string['transferfee_from_desc'] = 'Select how the fees get deducted.
@@ -654,10 +658,6 @@ $string['transferpage'] = 'Transfer balance'; $string['transferpercent'] = 'Transfer fees %'; $string['transferpercent_desc'] = 'In order to transfer some amount to another user a percentage fee will be deducted from the sender by default. Set it to 0 so there is no fee deducted.'; -$string['transfer_desc'] = 'Enable or disable the ability of users to transfer balance to other users and determine the transfer fee per each operation.'; -$string['transfer_enabled'] = 'Transfer to other user'; -$string['transfer_enabled_desc'] = 'Enable or disable the ability for users to transfer balance to other users by email.'; -$string['transfer_notenabled'] = 'User to user transfer isn\'t enabled in this site.'; $string['transformation_credit_desc'] = 'Using enrol_credit? If you want, you can transform all users credits to their wallet also migrate all enrollments and instances to enrol_wallet instead. There is {$a->credit} credit enrol instances and {$a->enrol} enrollments to be migrated.'; $string['transformation_credit_done'] = 'Transformation and migration has been queued successfully and will run shortly, please check after a while for credits and enrollments.'; $string['transformation_credit_title'] = 'Transformation of credit to wallet'; @@ -670,6 +670,9 @@ $string['unenrollimitbefor'] = 'Cannot un-enrol self before:'; $string['unenrollimitbefor_desc'] = 'Users cannot un-enrol themselves before this period from enrolment end date. 0 means no limit.'; $string['unenrolrefund'] = 'Refund upon un-enrol?'; +$string['unenrolrefund_desc'] = 'If enabled, users will be refunded if they unenrolled from the course.'; +$string['unenrolrefund_head'] = 'Refund users upon un-enrol.'; +$string['unenrolrefund_head_desc'] = 'Return the paid fee of a course after un-enrol from the course.'; $string['unenrolrefundfee'] = 'Refund percentage fee'; $string['unenrolrefundfee_desc'] = 'Choose a percentage amount that will not be refunded after un-enrol as a fee.'; $string['unenrolrefundperiod'] = 'Refund upon un-enrol grace period'; @@ -684,16 +687,12 @@ $string['unenrolrefundpolicy_help'] = 'If refunding upon un-enrol enabled, this policy will be visible to users before enrol themselves to courses using wallet enrolment.
placing {fee} in the policy will be replaced by the percentage fee.
placing {period} will be replaced by the grace period in days.'; -$string['unenrolrefund_desc'] = 'If enabled, users will be refunded if they unenrolled from the course.'; -$string['unenrolrefund_head'] = 'Refund users upon un-enrol.'; -$string['unenrolrefund_head_desc'] = 'Return the paid fee of a course after un-enrol from the course.'; +$string['unenrolself_notallowed'] = 'You are not un-enrol yourself from this course.'; $string['unenrolselfconfirm'] = 'Do you really want to un-enrol yourself from course "{$a}"?'; $string['unenrolselfenabled'] = 'Enable self un-enrol'; $string['unenrolselfenabled_desc'] = 'If enable, then users are allowed to un-enrol themselves from the course.'; -$string['unenrolself_notallowed'] = 'You are not un-enrol yourself from this course.'; $string['unenroluser'] = 'Do you really want to un-enrol "{$a->user}" from course "{$a->course}"?'; $string['unenrolusers'] = 'Un-enrol users'; -$string['uploadcsvfilerequired'] = 'Please upload the csv file.'; $string['upload_coupons'] = 'Upload coupons'; $string['upload_coupons_help'] = 'Upload coupons in a csv file to bulk add or edit wallet coupons, the csv file should contain two primary columns:
\'code\': The code of the coupon to be added or updated.
@@ -708,6 +707,7 @@ \'maxperuser\': Maximum time for a single user to use a coupon.
\'id\': The id of the coupon in case of updating it.'; $string['upload_result'] = 'Result'; +$string['uploadcsvfilerequired'] = 'Please upload the csv file.'; $string['upperletters'] = 'UPPER case'; $string['usedfrom'] = 'Used From'; $string['usedto'] = 'Used To'; @@ -746,12 +746,12 @@ If you have not done so already, you should edit your profile page so that we can learn more about you: {$a->profileurl}'; +$string['wordpress_secretkey'] = 'Secret Key'; +$string['wordpress_secretkey_help'] = 'Admin must add any value here and the same value in moo-wallet setting in wordpress site.'; $string['wordpressloggins'] = 'Login/logout user from wordpress'; $string['wordpressloggins_desc'] = 'If enabled users are logged in and out from wordpress website when they logged in or out from moodle. (note that is one way only)'; $string['wordpressurl'] = 'Wordpress url'; $string['wordpressurl_desc'] = 'Wordpress url with woo-wallet (tera wallet) plugin on it'; -$string['wordpress_secretkey'] = 'Secret Key'; -$string['wordpress_secretkey_help'] = 'Admin must add any value here and the same value in moo-wallet setting in wordpress site.'; $string['wrongemailformat'] = 'Wrong Email format.'; diff --git a/lib.php b/lib.php index 4c3132e9..6847092e 100644 --- a/lib.php +++ b/lib.php @@ -349,10 +349,6 @@ public function unenrol_user(stdClass $instance, $userid) { * @return bool - true means it is possible to change enrol period and status in user_enrolments table */ public function allow_manage(stdClass $instance) { - $context = context_course::instance($instance->courseid); - if (!has_capability('enrol/wallet:manage', $context)) { - return false; - } return true; } diff --git a/tests/coupons_test.php b/tests/coupons_test.php index e73b6d88..74e6664d 100644 --- a/tests/coupons_test.php +++ b/tests/coupons_test.php @@ -53,33 +53,152 @@ final class coupons_test extends \advanced_testcase { * @var object */ private $cat4; - /** Course 1 @var \stdClass */ + + /** + * Course 1 + * @var \stdClass + */ private $c1; /** - * Courses + * Course 1 + * @var \stdClass + */ + private $c2; + /** + * Course 2 + * @var \stdClass + */ + private $c3; + /** + * Course 4 + * @var \stdClass + */ + private $c4; + /** + * Course 5 + * @var \stdClass + */ + private $c5; + /** + * Course 6 + * @var \stdClass + */ + private $c6; + /** + * Course 7 * @var \stdClass */ - private $c2, $c3, $c4, $c5, $c6, $c7; + private $c7; + + /** + * User 1 + * @var \stdClass + */ + private $u1; + /** + * User 2 + * @var \stdClass + */ + private $u2; /** - * Users + * User 3 * @var \stdClass */ - private $u1, $u2, $u3, $u4, $u5, $u6; + private $u3; /** - * Enrol wallet instances. + * User 4 * @var \stdClass */ - private $inst1, $inst2, $inst3, $inst4, $inst5, $inst6, $inst7; + private $u4; /** - * Course sections + * User 4 * @var \stdClass */ - private $sec1, $sec2, $sec3; + private $u5; /** - * Course modules. + * User 6 * @var \stdClass */ - private $cm1, $cm2, $cm3, $cm4, $cm5; + private $u6; + + /** + * Enrol wallet instance 1. + * @var \stdClass + */ + private $inst1; + /** + * Enrol wallet instance 2. + * @var \stdClass + */ + private $inst2; + /** + * Enrol wallet instance 3. + * @var \stdClass + */ + private $inst3; + /** + * Enrol wallet instance 4. + * @var \stdClass + */ + private $inst4; + /** + * Enrol wallet instance 5. + * @var \stdClass + */ + private $inst5; + /** + * Enrol wallet instance 6. + * @var \stdClass + */ + private $inst6; + /** + * Enrol wallet instance 7. + * @var \stdClass + */ + private $inst7; + + /** + * Course section 1 + * @var \stdClass + */ + private $sec1; + /** + * Course section 2 + * @var \stdClass + */ + private $sec2; + /** + * Course section 3 + * @var \stdClass + */ + private $sec3; + + /** + * Course module 1. + * @var \stdClass + */ + private $cm1; + /** + * Course module 2. + * @var \stdClass + */ + private $cm2; + /** + * Course module 3. + * @var \stdClass + */ + private $cm3; + /** + * Course module 4. + * @var \stdClass + */ + private $cm4; + /** + * Course module 5. + * @var \stdClass + */ + private $cm5; + /** * Data Generator * @var \testing_data_generator