[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/extensions/WikiEditor/ -> WikiEditor.php (source)

   1  <?php
   2  /**
   3   * WikiEditor extension
   4   *
   5   * @file
   6   * @ingroup Extensions
   7   *
   8   * @author Trevor Parscal <[email protected]>
   9   * @author Roan Kattouw <[email protected]>
  10   * @author Nimish Gautam <[email protected]>
  11   * @author Adam Miller <[email protected]>
  12   * @license GPL v2 or later
  13   * @version 0.4.0
  14   */
  15  
  16  /* Configuration */
  17  
  18  // Each module may be configured individually to be globally on/off or user preference based
  19  $wgWikiEditorFeatures = array(
  20  
  21      /* Textarea / i-frame compatible (OK to deploy) */
  22  
  23      'toolbar' => array( 'global' => false, 'user' => true ),
  24      // Provides interactive tools
  25      'dialogs' => array( 'global' => false, 'user' => true ),
  26      // Hide signature button from main namespace
  27      'hidesig' => array( 'global' => true, 'user' => false ),
  28  
  29      /* Textarea / i-frame compatible, but still experimental and unstable (do not deploy!) */
  30  
  31      // Adds a tab for previewing in-line
  32      'preview' => array( 'global' => false, 'user' => true ),
  33      // Adds a button for previewing in a dialog
  34      'previewDialog' => array( 'global' => false, 'user' => false ),
  35      //  Adds a button and dialog for step-by-step publishing
  36      'publish' => array( 'global' => false, 'user' => true ),
  37  );
  38  
  39  /* Setup */
  40  
  41  $wgExtensionCredits['other'][] = array(
  42      'path' => __FILE__,
  43      'name' => 'WikiEditor',
  44      'author' => array( 'Trevor Parscal', 'Roan Kattouw', 'Nimish Gautam', 'Adam Miller' ),
  45      'version' => '0.4.0',
  46      'url' => 'https://www.mediawiki.org/wiki/Extension:WikiEditor',
  47      'descriptionmsg' => 'wikieditor-desc',
  48  );
  49  $wgAutoloadClasses['WikiEditorHooks'] = __DIR__ . '/WikiEditor.hooks.php';
  50  $wgMessagesDirs['WikiEditor'] = __DIR__ . '/i18n';
  51  $wgExtensionMessagesFiles['WikiEditor'] = __DIR__ . '/WikiEditor.i18n.php';
  52  $wgHooks['EditPage::showEditForm:initial'][] = 'WikiEditorHooks::editPageShowEditFormInitial';
  53  $wgHooks['GetPreferences'][] = 'WikiEditorHooks::getPreferences';
  54  $wgHooks['ResourceLoaderGetConfigVars'][] = 'WikiEditorHooks::resourceLoaderGetConfigVars';
  55  $wgHooks['MakeGlobalVariablesScript'][] = 'WikiEditorHooks::makeGlobalVariablesScript';
  56  $wgHooks['EditPageBeforeEditToolbar'][] = 'WikiEditorHooks::EditPageBeforeEditToolbar';
  57  
  58  $wikiEditorTpl = array(
  59      'localBasePath' => __DIR__ . '/modules',
  60      'remoteExtPath' => 'WikiEditor/modules',
  61      'group' => 'ext.wikiEditor',
  62  );
  63  
  64  $wgResourceModules += array(
  65  
  66      /* WikiEditor jQuery plugin Resources */
  67  
  68      'jquery.wikiEditor' => $wikiEditorTpl + array(
  69          'scripts' => 'jquery.wikiEditor.js',
  70          'styles' => 'jquery.wikiEditor.css',
  71          'dependencies' => array(
  72              'jquery.client',
  73              'jquery.textSelection',
  74          ),
  75          'messages' => array(
  76              'wikieditor-wikitext-tab',
  77              'wikieditor-loading',
  78          ),
  79      ),
  80      'jquery.wikiEditor.dialogs' => $wikiEditorTpl + array(
  81          'scripts' => 'jquery.wikiEditor.dialogs.js',
  82          'styles' => 'jquery.wikiEditor.dialogs.css',
  83          'dependencies' => array(
  84              'jquery.wikiEditor',
  85              'jquery.wikiEditor.toolbar',
  86              'jquery.ui.dialog',
  87              'jquery.ui.button',
  88              'jquery.ui.draggable',
  89              'jquery.ui.resizable',
  90              'jquery.tabIndex',
  91          ),
  92      ),
  93      'jquery.wikiEditor.dialogs.config' => $wikiEditorTpl + array(
  94          'scripts' => 'jquery.wikiEditor.dialogs.config.js',
  95          'styles' => 'jquery.wikiEditor.dialogs.config.css',
  96          'dependencies' => array(
  97              'jquery.wikiEditor',
  98              'jquery.wikiEditor.dialogs',
  99              'jquery.wikiEditor.toolbar.i18n',
 100              'jquery.suggestions',
 101              'mediawiki.Title',
 102              'mediawiki.jqueryMsg',
 103          ),
 104          'messages' => array(
 105              'wikieditor-toolbar-tool-file-title',
 106              'wikieditor-toolbar-file-target',
 107              'wikieditor-toolbar-file-caption',
 108              'wikieditor-toolbar-file-size',
 109              'wikieditor-toolbar-file-float',
 110              'wikieditor-toolbar-file-default',
 111              'wikieditor-toolbar-file-format-none',
 112              'wikieditor-toolbar-file-format',
 113              'wikieditor-toolbar-tool-file-insert',
 114              'wikieditor-toolbar-tool-file-cancel',
 115          ),
 116      ),
 117      'jquery.wikiEditor.preview' => $wikiEditorTpl + array(
 118          'scripts' => 'jquery.wikiEditor.preview.js',
 119          'styles' => 'jquery.wikiEditor.preview.css',
 120          'dependencies' => 'jquery.wikiEditor',
 121      ),
 122      'jquery.wikiEditor.previewDialog' => $wikiEditorTpl + array(
 123          'scripts' => 'jquery.wikiEditor.previewDialog.js',
 124          'styles' => 'jquery.wikiEditor.previewDialog.css',
 125          'dependencies' => array(
 126              'jquery.wikiEditor',
 127              'jquery.wikiEditor.dialogs',
 128          ),
 129      ),
 130      'jquery.wikiEditor.publish' => $wikiEditorTpl + array(
 131          'scripts' => 'jquery.wikiEditor.publish.js',
 132          'dependencies' => array(
 133              'jquery.wikiEditor',
 134              'jquery.wikiEditor.dialogs',
 135          ),
 136      ),
 137      'jquery.wikiEditor.toolbar' => $wikiEditorTpl + array(
 138          'scripts' => 'jquery.wikiEditor.toolbar.js',
 139          'styles' => 'jquery.wikiEditor.toolbar.css',
 140          'dependencies' => array(
 141              'jquery.wikiEditor',
 142              'jquery.wikiEditor.toolbar.i18n',
 143              'jquery.cookie',
 144              'jquery.async',
 145          ),
 146      ),
 147      'jquery.wikiEditor.toolbar.config' => $wikiEditorTpl + array(
 148          'scripts' => 'jquery.wikiEditor.toolbar.config.js',
 149          'dependencies' => array(
 150              'jquery.wikiEditor',
 151              'jquery.wikiEditor.toolbar.i18n',
 152              'jquery.wikiEditor.toolbar',
 153          )
 154      ),
 155      'jquery.wikiEditor.toolbar.i18n' => $wikiEditorTpl + array(
 156          'messages' => array(
 157              // This is a mixed bunch that needs to be separated between dialog and toolbar messages,
 158              // but since both the dialog and toolbar config have this as dependency, it's not urgent
 159              'wikieditor-toolbar-loading',
 160              /* Main Section */
 161              'wikieditor-toolbar-tool-bold',
 162              'wikieditor-toolbar-tool-bold-example',
 163              'wikieditor-toolbar-tool-italic',
 164              'wikieditor-toolbar-tool-italic-example',
 165              'wikieditor-toolbar-tool-ilink',
 166              'wikieditor-toolbar-tool-ilink-example',
 167              'wikieditor-toolbar-tool-xlink',
 168              'wikieditor-toolbar-tool-xlink-example',
 169              'wikieditor-toolbar-tool-link',
 170              'wikieditor-toolbar-tool-link-title',
 171              'wikieditor-toolbar-tool-link-int',
 172              'wikieditor-toolbar-tool-link-int-target',
 173              'wikieditor-toolbar-tool-link-int-target-tooltip',
 174              'wikieditor-toolbar-tool-link-int-text',
 175              'wikieditor-toolbar-tool-link-int-text-tooltip',
 176              'wikieditor-toolbar-tool-link-ext',
 177              'wikieditor-toolbar-tool-link-ext-target',
 178              'wikieditor-toolbar-tool-link-ext-text',
 179              'wikieditor-toolbar-tool-link-insert',
 180              'wikieditor-toolbar-tool-link-cancel',
 181              'wikieditor-toolbar-tool-link-int-target-status-exists',
 182              'wikieditor-toolbar-tool-link-int-target-status-notexists',
 183              'wikieditor-toolbar-tool-link-int-target-status-invalid',
 184              'wikieditor-toolbar-tool-link-int-target-status-external',
 185              'wikieditor-toolbar-tool-link-int-target-status-loading',
 186              'wikieditor-toolbar-tool-link-int-target-status-disambig',
 187              'wikieditor-toolbar-tool-link-int-invalid',
 188              'wikieditor-toolbar-tool-link-lookslikeinternal',
 189              'wikieditor-toolbar-tool-link-lookslikeinternal-int',
 190              'wikieditor-toolbar-tool-link-lookslikeinternal-ext',
 191              'wikieditor-toolbar-tool-link-empty',
 192              'wikieditor-toolbar-tool-file',
 193              'wikieditor-toolbar-tool-file-example',
 194              'wikieditor-toolbar-tool-file-pre',
 195              'wikieditor-toolbar-tool-reference',
 196              'wikieditor-toolbar-tool-reference-title',
 197              'wikieditor-toolbar-tool-reference-cancel',
 198              'wikieditor-toolbar-tool-reference-text',
 199              'wikieditor-toolbar-tool-reference-insert',
 200              'wikieditor-toolbar-tool-reference-example',
 201              'wikieditor-toolbar-tool-signature',
 202              /* Formatting Section */
 203              'wikieditor-toolbar-section-advanced',
 204              'wikieditor-toolbar-tool-heading',
 205              'wikieditor-toolbar-tool-heading-1',
 206              'wikieditor-toolbar-tool-heading-2',
 207              'wikieditor-toolbar-tool-heading-3',
 208              'wikieditor-toolbar-tool-heading-4',
 209              'wikieditor-toolbar-tool-heading-5',
 210              'wikieditor-toolbar-tool-heading-example',
 211              'wikieditor-toolbar-group-format',
 212              'wikieditor-toolbar-tool-ulist',
 213              'wikieditor-toolbar-tool-ulist-example',
 214              'wikieditor-toolbar-tool-olist',
 215              'wikieditor-toolbar-tool-olist-example',
 216              'wikieditor-toolbar-tool-nowiki',
 217              'wikieditor-toolbar-tool-nowiki-example',
 218              'wikieditor-toolbar-tool-redirect',
 219              'wikieditor-toolbar-tool-redirect-example',
 220              'wikieditor-toolbar-tool-big',
 221              'wikieditor-toolbar-tool-big-example',
 222              'wikieditor-toolbar-tool-small',
 223              'wikieditor-toolbar-tool-small-example',
 224              'wikieditor-toolbar-tool-superscript',
 225              'wikieditor-toolbar-tool-superscript-example',
 226              'wikieditor-toolbar-tool-subscript',
 227              'wikieditor-toolbar-tool-subscript-example',
 228              'wikieditor-toolbar-group-insert',
 229              'wikieditor-toolbar-tool-gallery',
 230              'wikieditor-toolbar-tool-gallery-example',
 231              'wikieditor-toolbar-tool-newline',
 232              'wikieditor-toolbar-tool-table',
 233              'wikieditor-toolbar-tool-table-example-old',
 234              'wikieditor-toolbar-tool-table-example-cell-text',
 235              'wikieditor-toolbar-tool-table-example',
 236              'wikieditor-toolbar-tool-table-example-header',
 237              'wikieditor-toolbar-tool-table-title',
 238              'wikieditor-toolbar-tool-table-dimensions-rows',
 239              'wikieditor-toolbar-tool-table-dimensions-columns',
 240              'wikieditor-toolbar-tool-table-dimensions-header',
 241              'wikieditor-toolbar-tool-table-wikitable',
 242              'wikieditor-toolbar-tool-table-sortable',
 243              'wikieditor-toolbar-tool-table-insert',
 244              'wikieditor-toolbar-tool-table-cancel',
 245              'wikieditor-toolbar-tool-table-example-text',
 246              'wikieditor-toolbar-tool-table-toomany',
 247              'wikieditor-toolbar-tool-table-invalidnumber',
 248              'wikieditor-toolbar-tool-table-zero',
 249              'wikieditor-toolbar-tool-replace',
 250              'wikieditor-toolbar-tool-replace-title',
 251              'wikieditor-toolbar-tool-replace-search',
 252              'wikieditor-toolbar-tool-replace-replace',
 253              'wikieditor-toolbar-tool-replace-case',
 254              'wikieditor-toolbar-tool-replace-regex',
 255              'wikieditor-toolbar-tool-replace-button-findnext',
 256              'wikieditor-toolbar-tool-replace-button-replace',
 257              'wikieditor-toolbar-tool-replace-button-replaceall',
 258              'wikieditor-toolbar-tool-replace-close',
 259              'wikieditor-toolbar-tool-replace-nomatch',
 260              'wikieditor-toolbar-tool-replace-success',
 261              'wikieditor-toolbar-tool-replace-emptysearch',
 262              'wikieditor-toolbar-tool-replace-invalidregex',
 263              /* Special Characters Section */
 264              'wikieditor-toolbar-section-characters',
 265              'wikieditor-toolbar-characters-page-latin',
 266              'wikieditor-toolbar-characters-page-latinextended',
 267              'wikieditor-toolbar-characters-page-ipa',
 268              'wikieditor-toolbar-characters-page-symbols',
 269              'wikieditor-toolbar-characters-page-greek',
 270              'wikieditor-toolbar-characters-page-cyrillic',
 271              'wikieditor-toolbar-characters-page-arabic',
 272              'wikieditor-toolbar-characters-page-arabicextended',
 273              'wikieditor-toolbar-characters-page-persian',
 274              'wikieditor-toolbar-characters-page-hebrew',
 275              'wikieditor-toolbar-characters-page-bangla',
 276              'wikieditor-toolbar-characters-page-tamil',
 277              'wikieditor-toolbar-characters-page-telugu',
 278              'wikieditor-toolbar-characters-page-sinhala',
 279              'wikieditor-toolbar-characters-page-devanagari',
 280              'wikieditor-toolbar-characters-page-gujarati',
 281              'wikieditor-toolbar-characters-page-thai',
 282              'wikieditor-toolbar-characters-page-lao',
 283              'wikieditor-toolbar-characters-page-khmer',
 284              'wikieditor-toolbar-characters-endash',
 285              'wikieditor-toolbar-characters-emdash',
 286              'wikieditor-toolbar-characters-minus',
 287              /* Help Section */
 288              'wikieditor-toolbar-section-help',
 289              'wikieditor-toolbar-help-heading-description',
 290              'wikieditor-toolbar-help-heading-syntax',
 291              'wikieditor-toolbar-help-heading-result',
 292              'wikieditor-toolbar-help-page-format',
 293              'wikieditor-toolbar-help-page-link',
 294              'wikieditor-toolbar-help-page-heading',
 295              'wikieditor-toolbar-help-page-list',
 296              'wikieditor-toolbar-help-page-file',
 297              'wikieditor-toolbar-help-page-reference',
 298              'wikieditor-toolbar-help-page-discussion',
 299              'wikieditor-toolbar-help-content-bold-description',
 300              'wikieditor-toolbar-help-content-bold-syntax',
 301              'wikieditor-toolbar-help-content-bold-result',
 302              'wikieditor-toolbar-help-content-italic-description',
 303              'wikieditor-toolbar-help-content-italic-syntax',
 304              'wikieditor-toolbar-help-content-italic-result',
 305              'wikieditor-toolbar-help-content-bolditalic-description',
 306              'wikieditor-toolbar-help-content-bolditalic-syntax',
 307              'wikieditor-toolbar-help-content-bolditalic-result',
 308              'wikieditor-toolbar-help-content-ilink-description',
 309              'wikieditor-toolbar-help-content-ilink-syntax',
 310              'wikieditor-toolbar-help-content-ilink-result',
 311              'wikieditor-toolbar-help-content-xlink-description',
 312              'wikieditor-toolbar-help-content-xlink-syntax',
 313              'wikieditor-toolbar-help-content-xlink-result',
 314              'wikieditor-toolbar-help-content-heading1-description',
 315              'wikieditor-toolbar-help-content-heading1-syntax',
 316              'wikieditor-toolbar-help-content-heading1-result',
 317              'wikieditor-toolbar-help-content-heading2-description',
 318              'wikieditor-toolbar-help-content-heading2-syntax',
 319              'wikieditor-toolbar-help-content-heading2-result',
 320              'wikieditor-toolbar-help-content-heading3-description',
 321              'wikieditor-toolbar-help-content-heading3-syntax',
 322              'wikieditor-toolbar-help-content-heading3-result',
 323              'wikieditor-toolbar-help-content-heading4-description',
 324              'wikieditor-toolbar-help-content-heading4-syntax',
 325              'wikieditor-toolbar-help-content-heading4-result',
 326              'wikieditor-toolbar-help-content-heading5-description',
 327              'wikieditor-toolbar-help-content-heading5-syntax',
 328              'wikieditor-toolbar-help-content-heading5-result',
 329              'wikieditor-toolbar-help-content-ulist-description',
 330              'wikieditor-toolbar-help-content-ulist-syntax',
 331              'wikieditor-toolbar-help-content-ulist-result',
 332              'wikieditor-toolbar-help-content-olist-description',
 333              'wikieditor-toolbar-help-content-olist-syntax',
 334              'wikieditor-toolbar-help-content-olist-result',
 335              'wikieditor-toolbar-help-content-file-description',
 336              'wikieditor-toolbar-help-content-file-syntax',
 337              'wikieditor-toolbar-help-content-file-result',
 338              'wikieditor-toolbar-help-content-reference-description',
 339              'wikieditor-toolbar-help-content-reference-syntax',
 340              'wikieditor-toolbar-help-content-reference-result',
 341              'wikieditor-toolbar-help-content-rereference-description',
 342              'wikieditor-toolbar-help-content-rereference-syntax',
 343              'wikieditor-toolbar-help-content-rereference-result',
 344              'wikieditor-toolbar-help-content-showreferences-description',
 345              'wikieditor-toolbar-help-content-showreferences-syntax',
 346              'wikieditor-toolbar-help-content-showreferences-result',
 347              'wikieditor-toolbar-help-content-signaturetimestamp-description',
 348              'wikieditor-toolbar-help-content-signaturetimestamp-syntax',
 349              'wikieditor-toolbar-help-content-signaturetimestamp-result',
 350              'wikieditor-toolbar-help-content-signature-description',
 351              'wikieditor-toolbar-help-content-signature-syntax',
 352              'wikieditor-toolbar-help-content-signature-result',
 353              'wikieditor-toolbar-help-content-indent-description',
 354              'wikieditor-toolbar-help-content-indent-syntax',
 355              'wikieditor-toolbar-help-content-indent-result',
 356          ),
 357      ),
 358  
 359      /* WikiEditor Resources */
 360  
 361      'ext.wikiEditor' => $wikiEditorTpl + array(
 362          'scripts' => 'ext.wikiEditor.js',
 363          'styles' => 'ext.wikiEditor.css',
 364          'dependencies' => 'jquery.wikiEditor',
 365      ),
 366      'ext.wikiEditor.dialogs' => $wikiEditorTpl + array(
 367          'scripts' => 'ext.wikiEditor.dialogs.js',
 368          'dependencies' => array(
 369              'ext.wikiEditor',
 370              'ext.wikiEditor.toolbar',
 371              'jquery.wikiEditor.dialogs',
 372              'jquery.wikiEditor.dialogs.config',
 373          ),
 374      ),
 375      'ext.wikiEditor.preview' => $wikiEditorTpl + array(
 376          'scripts' => 'ext.wikiEditor.preview.js',
 377          'dependencies' => array(
 378              'ext.wikiEditor',
 379              'jquery.wikiEditor.preview',
 380          ),
 381          'messages' => array(
 382              'wikieditor-preview-tab',
 383              'wikieditor-preview-changes-tab',
 384              'wikieditor-preview-loading',
 385          ),
 386      ),
 387      'ext.wikiEditor.previewDialog' => $wikiEditorTpl + array(
 388          'scripts' => 'ext.wikiEditor.previewDialog.js',
 389          'dependencies' => array(
 390              'ext.wikiEditor',
 391              'jquery.wikiEditor.previewDialog',
 392          ),
 393          'messages' => array(
 394              'wikieditor-previewDialog-preference',
 395              'wikieditor-previewDialog-tab',
 396              'wikieditor-previewDialog-loading',
 397          ),
 398      ),
 399      'ext.wikiEditor.publish' => $wikiEditorTpl + array(
 400          'scripts' => 'ext.wikiEditor.publish.js',
 401          'dependencies' => array(
 402              'ext.wikiEditor',
 403              'jquery.wikiEditor.publish',
 404          ),
 405          'messages' => array(
 406              'wikieditor-publish-button-publish',
 407              'wikieditor-publish-button-cancel',
 408              'wikieditor-publish-dialog-title',
 409              'wikieditor-publish-dialog-summary',
 410              'wikieditor-publish-dialog-minor',
 411              'wikieditor-publish-dialog-watch',
 412              'wikieditor-publish-dialog-publish',
 413              'wikieditor-publish-dialog-goback',
 414          ),
 415      ),
 416      'ext.wikiEditor.tests.toolbar' => $wikiEditorTpl + array(
 417          'scripts' => 'ext.wikiEditor.tests.toolbar.js',
 418          'dependencies' => 'ext.wikiEditor.toolbar',
 419      ),
 420      'ext.wikiEditor.toolbar' => $wikiEditorTpl + array(
 421          'scripts' => 'ext.wikiEditor.toolbar.js',
 422          'dependencies' => array(
 423              'ext.wikiEditor',
 424              'jquery.wikiEditor.toolbar',
 425              'jquery.wikiEditor.toolbar.config',
 426          )
 427      ),
 428      'ext.wikiEditor.toolbar.styles' => $wikiEditorTpl + array(
 429          'styles' => 'ext.wikiEditor.toolbar.styles.css',
 430      ),
 431      'ext.wikiEditor.toolbar.hideSig' => $wikiEditorTpl + array(
 432          'scripts' => 'ext.wikiEditor.toolbar.hideSig.js',
 433      ),
 434  );


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1