function arw_render_page() { /*—- حماية الصفحة —-*/ if ( ! current_user_can('manage_options') && ! current_user_can('manage_woocommerce') ) { wp_redirect( home_url('/my-account/') ); exit; } /*—- التبويبات —-*/ $active_tab = isset($_GET['tab']) ? sanitize_key($_GET['tab']) : 'change_role'; echo '
'; echo '

🛠️ إدارة أدوار المستخدم & رسائل واتساب

'; echo ''; /*-------------------------------------------------------------- التبويب الأول: تغيير الدور --------------------------------------------------------------*/ if ( $active_tab === 'change_role' ) { /*—- معالجة الحفظ والإرسال —-*/ if ( isset($_POST['user_id'], $_POST['new_role']) ) { $user_id = intval( $_POST['user_id'] ); $new_role = sanitize_text_field( $_POST['new_role'] ); $user = get_user_by( 'ID', $user_id ); if ( $user ) { $user->set_role( $new_role ); $full_name = trim( $user->first_name . ' ' . $user->last_name ); $phone = get_user_meta( $user_id, 'billing_phone', true ); /*—- جلب الرسالة من الإعدادات (إن وُجدت) —-*/ $message_template = get_option( "arw_msg_{$new_role}", '' ); if ( ! $message_template ) { // fallback إلى رسائل ثابتة (يمكن حذف هذا القسم إن أردت الاعتماد كلياً على صفحة الرسائل) switch ( $new_role ) { case 'shop_owner': $message_template = "✅ مرحبًا {name}، تمت ترقيتك إلى \"صاحب محل\".\n🔗 {login_url}"; break; case 'shop_manager': $message_template = "✅ مرحبًا {name}، تم تعيينك كمدير متجر."; break; case 'worker': $message_template = "✅ مرحبًا {name}، تم تعيينك كمجهز.\n🔗 {login_url}"; break; default: $message_template = "✅ مرحبًا {name}، تم تحديث دورك إلى: {$new_role}"; break; } } /*—- استبدال المتغيّرات —-*/ $message = str_replace( ['{name}', '{login_url}'], [$full_name, ARW_LOGIN_URL], $message_template ); /*—- إرسال واتساب —-*/ if ( $phone ) { wp_remote_post( 'https://app.wawp.net/api/send', [ 'method' => 'POST', 'headers' => [ 'Content-Type' => 'application/json' ], 'body' => wp_json_encode([ 'number' => $phone, 'type' => 'text', 'message' => $message, 'instance_id' => ARW_INSTANCE_ID, 'access_token' => ARW_ACCESS_TOKEN, ]), ] ); echo "

✅ تم تغيير الدور وإرسال رسالة واتساب إلى {$full_name} ({$phone}).

"; } else { echo "

⚠️ لم يتم العثور على رقم الهاتف.

"; } } else { echo "

❌ لم يتم العثور على المستخدم.

"; } } /*—- نموذج البحث + اختيار المستخدم/الدور —-*/ $search_query = isset($_GET['search_user']) ? sanitize_text_field($_GET['search_user']) : ''; $all_users = get_users(); $users = array_filter( $all_users, function( $u ) use ( $search_query ) { $full = strtolower( trim( $u->first_name . ' ' . $u->last_name ) ); $tel = get_user_meta( $u->ID, 'billing_phone', true ); $s = strtolower( $search_query ); return ! $search_query || strpos( $full, $s ) !== false || strpos( $tel, $s ) !== false; }); $role_names = [ 'administrator' => 'مدير عام', 'shop_manager' => 'مدير متجر', 'shop_owner' => 'صاحب محل', 'worker' => 'مجهز', 'customer' => 'عميل', 'subscriber' => 'مشترك', ]; echo '
'; echo '
'; echo ''; echo ''; echo '

'; submit_button( 'تحديث الدور وإرسال واتساب', 'primary', 'change_role' ); echo '
'; /*-------------------------------------------------------------- التبويب الثاني: رسائل واتساب --------------------------------------------------------------*/ } else { /*—- حفظ الرسائل —-*/ if ( isset($_POST['arw_messages']) ) { foreach ( $_POST['arw_messages'] as $role => $msg ) { update_option( "arw_msg_{$role}", sanitize_textarea_field( $msg ) ); } echo '

✅ تم حفظ الرسائل بنجاح.

'; } $editable_roles = [ 'shop_owner' => 'صاحب محل', 'shop_manager' => 'مدير متجر', 'worker' => 'مجهز', ]; echo '
'; foreach ( $editable_roles as $role => $label ) { $val = get_option( "arw_msg_{$role}", '' ); echo "

رسالة ({$label})

"; echo "

"; } submit_button( '💾 حفظ الرسائل' ); echo '
'; } echo '
'; // .wrap }