Ejemplo n.º 1
0
 /**
  * Loads hieroglyph information
  */
 private static function loadData()
 {
     if (self::$phonemes) {
         return;
     }
     if (MWInit::isHipHop()) {
         require_once MWInit::extCompiledPath('wikihiero/data/tables.php');
         self::$phonemes = $wh_phonemes;
         self::$prefabs = $wh_prefabs;
         self::$files = $wh_files;
     } else {
         $fileName = dirname(__FILE__) . '/data/tables.ser';
         $stream = file_get_contents($fileName);
         if (!$stream) {
             throw new MWException("Cannot open serialized hieroglyph data file {$fileName}!");
         }
         $data = unserialize($stream);
         self::$phonemes = $data['wh_phonemes'];
         self::$prefabs = $data['wh_prefabs'];
         self::$files = $data['wh_files'];
     }
 }
Ejemplo n.º 2
0
define('WIKIHIERO_VERSION', '1.0alpha2');
$wgHooks['ParserFirstCallInit'][] = 'wfRegisterWikiHiero';
$wgHooks['BeforePageDisplay'][] = 'wfHieroBeforePageDisplay';
// Register MediaWiki extension
$wgExtensionCredits['parserhook'][] = array('path' => __FILE__, 'name' => 'WikiHiero', 'version' => WIKIHIERO_VERSION, 'author' => array('Guillaume Blanchard', 'Max Semenik'), 'url' => '//www.mediawiki.org/wiki/Extension:WikiHiero', 'descriptionmsg' => 'wikihiero-desc');
$dir = dirname(__FILE__);
$wgExtensionMessagesFiles['Wikihiero'] = "{$dir}/wikihiero.i18n.php";
$wgExtensionMessagesFiles['HieroglyphsAlias'] = "{$dir}/wikihiero.alias.php";
$wgAutoloadClasses['WikiHiero'] = "{$dir}/wikihiero.body.php";
$wgAutoloadClasses['SpecialHieroglyphs'] = "{$dir}/SpecialHieroglyphs.php";
$wgParserTestFiles[] = "{$dir}/tests.txt";
$wgSpecialPages['Hieroglyphs'] = 'SpecialHieroglyphs';
$wgSpecialPageGroups['Hieroglyphs'] = 'wiki';
$wgResourceModules['ext.wikihiero'] = array('styles' => 'ext.wikihiero.css', 'localBasePath' => "{$dir}/modules", 'remoteExtPath' => 'wikihiero/modules');
$wgResourceModules['ext.wikihiero.Special'] = array('scripts' => 'ext.wikihiero.Special.js', 'styles' => 'ext.wikihiero.Special.css', 'localBasePath' => dirname(__FILE__) . '/modules', 'remoteExtPath' => 'wikihiero/modules', 'dependencies' => array('jquery.spinner'), 'messages' => array('wikihiero-input', 'wikihiero-result', 'wikihiero-load-error'));
$wgCompiledFiles[] = MWInit::extCompiledPath('wikihiero/data/tables.php');
/**
 * Because <hiero> tag is used rarely, we don't need to load its body on every hook call,
 * so we keep our simple hook handlers here.
 *
 * @param $parser Parser
 * @return bool
 */
function wfRegisterWikiHiero(&$parser)
{
    $parser->setHook('hiero', 'WikiHiero::parserHook');
    return true;
}
/**
 * @param $out OutputPage
 * @return bool