Esempio n. 1
0
 /**
  * EditPageBeforeEditButtons hook
  * Add draft saving controls
  */
 public static function controls(&$editpage, &$buttons)
 {
     global $wgUser, $wgTitle, $wgRequest, $egDraftsAutoSaveWait;
     // Check permissions
     if ($wgUser->isAllowed('edit') && $wgUser->isLoggedIn() && wfRunHooks("ShouldUseDrafts", array())) {
         // Internationalization
         wfLoadExtensionMessages('Drafts');
         // Build XML
         $buttons['savedraft'] = Xml::openElement('script', array('type' => 'text/javascript', 'language' => 'javascript'));
         $buttonAttribs = array('id' => 'wpDraftSave', 'name' => 'wpDraftSave', 'tabindex' => 8, 'value' => wfMsg('drafts-save-save'), 'class' => 'button secondary disabled ');
         $accesskey = $wgUser->getSkin()->accesskey('drafts-save');
         if ($accesskey !== false) {
             $buttonAttribs['accesskey'] = $accesskey;
         }
         $tooltip = $wgUser->getSkin()->titleAttrib('drafts-save', 'withaccess');
         if ($tooltip !== false) {
             $buttonAttribs['title'] = $tooltip;
         }
         $ajaxButton = Xml::escapeJsString(Xml::element('input', array('type' => 'button') + $buttonAttribs + ($wgRequest->getText('action') !== 'submit' ? array('disabled' => 'disabled', 'class' => 'disabled') : array())));
         $buttons['savedraft'] .= "document.write( '{$ajaxButton}' );";
         $buttons['savedraft'] .= Xml::closeElement('script');
         $buttons['savedraft'] .= Xml::openElement('noscript');
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'submit') + $buttonAttribs);
         $buttons['savedraft'] .= Xml::closeElement('noscript');
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpDraftAutoSaveWait', 'value' => $egDraftsAutoSaveWait));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpDraftToken', 'value' => Draft::newToken()));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpDraftID', 'value' => $wgRequest->getInt('draft', '')));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpDraftTitle', 'value' => $wgTitle->getPrefixedText()));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpMsgSaved', 'value' => wfMsg('drafts-save-saved')));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpMsgSaveDraft', 'value' => wfMsg('drafts-save-save')));
         $buttons['savedraft'] .= Xml::element('input', array('type' => 'hidden', 'name' => 'wpMsgError', 'value' => wfMsg('drafts-save-error')));
     }
     // Continue
     return true;
 }