एक्सटेंशन:ईमेल प्राधिकरण

This page is a translated version of the page Extension:Email Authorization and the translation is 83% complete.
Outdated translations are marked like this.
इस एक्सटेंशन को MediaWiki Stakeholders' Group के एक सदस्य द्वारा अनुरक्षित किया जाता है।
This extension requires the PluggableAuth extension to be installed first.
मीडियाविकि एक्सटेंशन मैन्युअल
Email Authorization
प्रकाशन की स्थिति: स्थिर
कार्यान्वयन सदस्य अधिकार
विवरण प्राधिकृत ईमेल पतों की एक सूची मदद से प्राधिकरण प्रदान करने के लिए PluggableAuth हुक लागू करता है।
लेखक Cindy Cicalese
नवीनतम संस्करण 3.0 (2022-03-27)
संगतता नीति मीडियाविकि के साथ प्रकाशित स्नैपशॉट्स। Master में पीछे की तरफ से संगतता नहीं है।
MediaWiki 1.35+
PHP 7.4+
डेटाबेस बदलता है हाँ
टेबल emailauth
emailrequest
लाइसेंस MIT लाइसेंस
डाउनलोड करें
  • $wgEmailAuthorization_RequestFields
  • $wgEmailAuthorization_EnableRequests
  • $wgEmailAuthorization_AuthorizedGroups
emailauthorizationconfig
Email Authorization एक्सटेंशन को अनुवादित करें अगर यह translatewiki.net पर उपलब्ध है
मुद्दे अधूरे कार्य · बग की रिपोर्ट करें

Email Authorization एक्सटेंशन प्राधिकृत ईमेल पतों की एक सूची मदद से प्राधिकरण प्रदान करने के लिए PluggableAuth का PluggableAuthUserAuthorization हुक लागू करता है। यह प्राधिकरण सूची से ईमेल पते और ईमेल डोमेन जोड़ने और हटाने के लिए प्रबंधकों को एक विशेष पृष्ठ Special:EmailAuthorizationConfig प्रदान करता है।

स्थापना

इस एक्सटेंशन को स्थापित करने से पहले PluggableAuth को स्थापित करने की ज़रूरत है।
  • फ़ाइलों को डाउनलोड करें और अपने extensions/ फ़ोल्डर के EmailAuthorization नामक डिरेक्ट्री में डालें।
    Developers and code contributors should install the extension from Git instead, using:cd extensions/
    git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/EmailAuthorization
  • अपने LocalSettings.php फ़ाइल के अंत में निम्न कोड जोड़ें:
    wfLoadExtension( 'EmailAuthorization' );
    
  • अपडेट स्क्रिप्ट चलाएँ जो स्वचालित रूप से आवश्यक डेटाबेस टेबल्स का निर्माण करेगा जिसकी इस एक्सटेंशन को आवश्यकता है।
  • run git submodule update --init
  • आवश्यकतानुसार कॉन्फ़िगर करें।
  •   पूर्ण – अपने विकि पर Special:Version पर जाकर देखें कि एक्सटेंशन को सफलतापूर्वक स्थापित किया गया है कि नहीं।

कॉन्फ़िगरेशन

चिप्पी डिफ़ॉल्ट विवरण
$wgEmailAuthorization_AuthorizedGroups [] An array of MediaWiki groups whose members are authorized regardless of whether their email addresses are authorized. This is especially useful to bootstrap the extension when it is installed by authorizing, for example, all members of the sysop group.
$wgEmailAuthorization_EnableRequests false इशारा करता है कि विशेष पृष्ठ (Special:EmailAuthorizationRequest) अनुरोधित खातों के लिए उपलब्ध होगा या नहीं। अगर सक्षम किया जाता है, पृष्ठ पर एक फ़ॉर्म होगा जिससे लोग खातों के अनुरोध कर पाएँगे। डिफ़ॉल्ट से फ़ॉर्म में एक ही फ़ील्ड होगा: ईमेल पता। अतिरिक्त फ़ील्ड्स $wgEmailAuthorization_RequestFields से निर्दिष्ट किए जा सकते हैं। साथ ही, अगर यह true होता है, bureaucrat समूह में मौजूद सदस्यों को एक विशेष पृष्ठ (Special:EmailAuthorizationApprove) उपलब्ध होगा जिसकी मदद से वे खाते स्वीकार कर पाएँगे।
$wgEmailAuthorization_RequestFields [] अनुरोध फ़ॉर्म पर अतिरिक्त फ़ील्ड्स का एक ऐरे। हर फ़ील्ड की परिभाषा भी एक ऐरे होगी जिसमें निम्न संभावित फ़ील्ड्स हो सकते हैं:
  • label - फ़ील्ड का लेबल (स्ट्रिंग); अनिवार्य
  • mandatory - अगर मौजूद होता और true होता है, फ़ील्ड अनिवार्य हो जाएगा
  • values - स्ट्रिंग्स की कॉमा से अलग की हुई एक सूची जो इस फ़ील्ड के लिए उपलब्ध वैल्यू हैं; फ़ील्ड एक ड्रॉपडाउन सूची हो जाएगी
  • rows - अगर मौजूद होता है, फ़ील्ड के टेक्स्ट क्षेत्र में पंक्तियों की संख्या
  • columns - अगर मौजूद होता है, फ़ील्ड के टेक्स्ट क्षेत्र में कॉलम्स की संख्या (डिफ़ॉल्ट: 50)

आखिरी तीन पैरामीटरों (values, rows, और columns) की मदद से यह तय किया जाता है कि फ़ील्ड को दिखाया कैसे जाएगा। अगर values मौजूद होता है, एक ड्रॉपडाउन सूची दिखाई जाएगी, तथा rows और columns के वैल्यूओं को अनदेखा कर दिया जाएगा। अगर values मौजूद नहीं है मगर rows मौजूद है, निर्दिष्ट आकार के एक टेक्स्ट क्षेत्र दिखाया जाएगा, और अगर columns मौजूद न हो तो उसे 50 पर डिफ़ॉल्ट कर दिया जाएगा। अगर सिर्फ columns मौजूद होता है, निर्दिष्ट चौड़ाई वाला एक टेक्स्ट फ़ील्ड दिखाया जाएगा। अगर कुछ भी मौजूद नहीं होता, 50 कॉलम्स का एक टेक्स्ट फ़ील्ड दिखाया जाएगा।

ऐरे में जो भी सामग्री हो, ईमेल पता हमेशा पहला फ़ील्ड रहेगा।

उदाहरणस्वरूप,

$wgEmailAuthorization_RequestFields = [
  [
    'label' => 'Organization',
    'mandatory' => true
  ],
  [
    'label' => 'Extra Information',
    'rows' => 4,
    'columns' => 60
  ],
  [
    'label' => 'Animals',
    'values' => [ 'dog', 'cat' ]
  ]
];

एक अनिवार्य टेक्स्ट फ़ील्ड (Organization) दिखाएगा जिसमें 50 कॉलम्स हैं, और साथ में 4 पंक्तियों और 60 कॉलम्स वाला एक टेक्स्ट क्षेत्र (Extra Information), और एक ड्रॉपडाउन सूची जिसके ज़रिए dog और cat में से चुना जा सकेगा।

जो सदस्य Special:EmailAuthorizationConfig पृष्ठ पर ईमेल पते और ईमेल डोमेन जोड़ना और हटाना चाहते हैं, उन्हें emailauthorizationconfig अधिकार प्राप्त करना होगा। उदाहरणस्वरूप:

$wgGroupPermissions['bureaucrat']['emailauthorizationconfig'] = true;
क्योंकि यह एक्सटेंशन प्राधिकरण के लिए सदस्य के ईमेल पते पर निर्भर होता है, आपको सदस्य को इस कॉन्फ़िगरेशन के साथ इसे सम्पादित करने से रोकना होगा:
$wgPluggableAuth_EnableLocalProperties = false;

हुक

यह एक्सटेंशन दूसरे एक्सटेंशनों को निम्न हुक्स प्रदान करता है:

  • EmailAuthorizationAdd और EmailAuthorizationRevoke एक ही पैरामीटर लेते हैं: एक ईमेल पता या ईमेल डोमेन (@ और उसके बाद ईमेल डोमेन)।
  • EmailAuthorizationRequest ये पैरामीटर्स लेता है: एक ईमेल पता और फ़ॉर्म के फ़ील्ड्स का JSON से एनकोड किया हुआ एक ऐरे।
  • EmailAuthorizationApprove और EmailAuthorizationReject ये पैरामीटर्स लेते हैं: एक ईमेल पता, फ़ॉर्म के फ़ील्ड्स का JSON से एनकोड किया हुआ एक ऐरे, और ब्यूरोक्रैट द्वारा खाते के अनुरोध को स्वीकार/अस्वीकार करने का User वस्तु।

संस्करण इतिहास

Version 3.0
  • Updated to work with PluggableAuth 6.0
Version 2.0
  • Added $wgEmailAuthorization_AuthorizedGroups
  • Added support for postgres and sqlite in addition to existing mysql/mariadb support
  • Use datatables jQuery plug-in on email authorization dashboard
  • Convert UI to use OOUI
  • Modernize code (type hints, dependency injection, global config, new hook system, linting, tests)
  • Fix IDatabase::upsert() calls with bad unique key parameters
Version 1.5
  • ईमेल जोड़ने से पहले उनको छोटा करके छोटे अक्षरों में बदलेगा।
Version 1.4
  • PHPCS जोड़ा और PHPCBF में कुछ समस्याओं को अपने आप ठीक किया
Version 1.3
  • $wgEmailAuthorization_EnableRequests द्वारा नियंत्रित खाता अनुरोध की वैकल्पिक क्षमता जोड़ी
    • Special:EmailAuthorizationRequest
    • Special:EmailAuthorizationApprove
Version 1.2
  • संदेश उपसर्ग को बदला ताकि दूसरे एक्सटेंशनों से टकराए न
  • टेबल प्रारूपण
  • Special:ConfigEmailAuthorization को Special:EmailAuthorizationConfig पर स्थानांतरित किया गया
Version 1.1
  • बग सुधार: मौजूदा ईमेल पता जोड़ने पर छूट त्रुटि आती थी
  • Special:ConfigEmailAuthorization में जोड़े गए ईमेल पतों और डोमेनों को अब वैलिडेट किया जाता है
  • लापता अधिकार संदेश जोड़ा
Version 1.0
  • शुरुआती संस्करण

ज्ञात समस्याएँ

2.0 से पहले के संस्करण PostgreSQL के साथ काम नहीं करते थे। T293933 देखें।