}
# a "magic" edit_id value which will indicate that no such edit_id is in the DB edits table
# ( valid edit_id value in DB cannot be negative number )
# usually indicates that the user's edit session was finished
define('EC_NO_EDITING', -1);
# time of edit "session" expiration (in seconds)
# !! it should be at least twice longer than EditConflict.editSleep value defined in js !!
define('EC_AJAX_EXPIRE_TIME', 1 * 60);
# total time of edit until the record will be deleted (three hours)
# (counts when client has no javascript)
# !! decrease to 3*60 for the debugging purposes !!
define('EC_EDIT_EXPIRE_TIME', 3 * 60 * 60);
# conflict notifications will expire in 30 days (in seconds)
define('EC_NOTIFICATION_EXPIRE_TIME', 30 * 24 * 60 * 60);
$wgExtensionCredits['specialpage'][] = array('name' => 'EditConflict', 'version' => '0.4.2', 'author' => 'QuestPC', 'url' => 'https://www.mediawiki.org/wiki/Extension:EditConflict', 'descriptionmsg' => 'editconflict_desc');
EditConflict::startup();
$wgExtensionMessagesFiles['EditConflict'] = EditConflict::$ExtDir . '/EditConflict_i18n.php';
$wgAutoloadClasses['ec_CurrentEdits'] = EditConflict::$ExtDir . '/CurrentEdits.php';
$wgSpecialPages['CurrentEdits'] = 'ec_CurrentEdits';
$wgHooks['EditPageMergeChanges'][] = 'EditConflict::doEditConflict';
$wgHooks['MakeGlobalVariablesScript'][] = 'EditConflict::jsWikiMessages';
$wgHooks['BeforePageDisplay'][] = 'EditConflict::checkNotification';
$wgHooks['EditPage::showEditForm:fields'][] = 'EditConflict::initEditing';
$wgHooks['userCan'][] = 'EditConflict::checkEditConflict';
$wgHooks['UserGetRights'][] = 'EditConflict::checkUserPageDelete';
$wgHooks['ArticleDeleteComplete'][] = 'EditConflict::checkArticleDelete';
$wgAjaxExportList[] = 'EditConflict::getNotifyText';
$wgAjaxExportList[] = 'EditConflict::clearRevId';
$wgAjaxExportList[] = 'EditConflict::markEditing';
$wgAjaxExportList[] = 'EditConflict::checkEditButton';
class EditConflict