Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/edit.zip
Назад
PK ��!]��j � fieldset.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $app = JFactory::getApplication(); $form = $displayData->getForm(); $name = $displayData->get('fieldset'); $fieldSet = $form->getFieldset($name); if (empty($fieldSet)) { return; } $ignoreFields = $displayData->get('ignore_fields') ? : array(); $extraFields = $displayData->get('extra_fields') ? : array(); if (!empty($displayData->showOptions) || $displayData->get('show_options', 1)) { if (isset($extraFields[$name])) { foreach ($extraFields[$name] as $f) { if (in_array($f, $ignoreFields)) { continue; } if ($form->getField($f)) { $fieldSet[] = $form->getField($f); } } } $html = array(); foreach ($fieldSet as $field) { $html[] = $field->renderField(); } echo implode('', $html); } else { $html = array(); $html[] = '<div style="display:none;">'; foreach ($fieldSet as $field) { $html[] = $field->input; } $html[] = '</div>'; echo implode('', $html); } PK ��!]���7� � details.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt * * @deprecated 3.2 removed without replacement in 4.0 see global.php for an alternative */ defined('_JEXEC') or die; $app = JFactory::getApplication(); // JLayout for standard handling of the details sidebar in administrator edit screens. $title = $displayData->getForm()->getValue('title'); $published = $displayData->getForm()->getField('published'); $saveHistory = $displayData->get('state')->get('params')->get('save_history', 0); ?> <div class="span2"> <h4><?php echo JText::_('JDETAILS'); ?></h4> <hr /> <fieldset class="form-vertical"> <?php if (empty($title)) : ?> <div class="control-group"> <div class="controls"> <?php echo $displayData->getForm()->getValue('name'); ?> </div> </div> <?php else : ?> <div class="control-group"> <div class="controls"> <?php echo $displayData->getForm()->getValue('title'); ?> </div> </div> <?php endif; ?> <?php if ($published) : ?> <?php echo $displayData->getForm()->renderField('published'); ?> <?php else : ?> <?php echo $displayData->getForm()->renderField('state'); ?> <?php endif; ?> <?php echo $displayData->getForm()->renderField('access'); ?> <?php echo $displayData->getForm()->renderField('featured'); ?> <?php if (JLanguageMultilang::isEnabled()) : ?> <?php echo $displayData->getForm()->renderField('language'); ?> <?php else : ?> <input type="hidden" id="jform_language" name="jform[language]" value="<?php echo $displayData->getForm()->getValue('language'); ?>" /> <?php endif; ?> <?php echo $displayData->getForm()->renderField('tags'); ?> <?php if ($saveHistory) : ?> <?php echo $displayData->getForm()->renderField('version_note'); ?> <?php endif; ?> </fieldset> </div> PK ��!]A�ۖ � frontediting_modules.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // JLayout for standard handling of the edit modules: $moduleHtml = &$displayData['moduleHtml']; $mod = $displayData['module']; $position = $displayData['position']; $menusEditing = $displayData['menusediting']; $parameters = JComponentHelper::getParams('com_modules'); $redirectUri = '&return=' . urlencode(base64_encode(JUri::getInstance()->toString())); $target = '_blank'; $itemid = JFactory::getApplication()->input->get('Itemid', '0', 'int'); if (preg_match('/<(?:div|span|nav|ul|ol|h\d) [^>]*class="[^"]* jmoddiv"/', $moduleHtml)) { // Module has already module edit button: return; } // Add css class jmoddiv and data attributes for module-editing URL and for the tooltip: $editUrl = JUri::base() . 'administrator/index.php?option=com_modules&task=module.edit&id=' . (int) $mod->id; if ($parameters->get('redirect_edit', 'site') === 'site') { $editUrl = JUri::base() . 'index.php?option=com_config&controller=config.display.modules&id=' . (int) $mod->id . '&Itemid=' . $itemid . $redirectUri; $target = '_self'; } // Add class, editing URL and tooltip, and if module of type menu, also the tooltip for editing the menu item: $count = 0; $moduleHtml = preg_replace( // Replace first tag of module with a class '/^(\s*<(?:div|span|nav|ul|ol|h\d|section|aside|nav|address|article) [^>]*class="[^"]*)"/', // By itself, adding class jmoddiv and data attributes for the URL and tooltip: '\\1 jmoddiv" data-jmodediturl="' . $editUrl . '" data-target="' . $target . '" data-jmodtip="' . JHtml::_('tooltipText', JText::_('JLIB_HTML_EDIT_MODULE'), htmlspecialchars($mod->title, ENT_COMPAT, 'UTF-8') . '<br />' . sprintf(JText::_('JLIB_HTML_EDIT_MODULE_IN_POSITION'), htmlspecialchars($position, ENT_COMPAT, 'UTF-8')), 0 ) . '"' // And if menu editing is enabled and allowed and it's a menu module, add data attributes for menu editing: . ($menusEditing && $mod->module === 'mod_menu' ? ' data-jmenuedittip="' . JHtml::_('tooltipText', 'JLIB_HTML_EDIT_MENU_ITEM', 'JLIB_HTML_EDIT_MENU_ITEM_ID') . '"' : '' ), $moduleHtml, 1, $count ); if ($count) { // Load once booststrap tooltip and add stylesheet and javascript to head: JHtml::_('bootstrap.tooltip'); JHtml::_('bootstrap.popover'); JHtml::_('stylesheet', 'system/frontediting.css', array('version' => 'auto', 'relative' => true)); JHtml::_('script', 'system/frontediting.js', array('version' => 'auto', 'relative' => true)); } PK ��!]�+%(� � global.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $app = JFactory::getApplication(); $form = $displayData->getForm(); $input = $app->input; $component = $input->getCmd('option', 'com_content'); if ($component === 'com_categories') { $extension = $input->getCmd('extension', 'com_content'); $parts = explode('.', $extension); $component = $parts[0]; } $saveHistory = JComponentHelper::getParams($component)->get('save_history', 0); $fields = $displayData->get('fields') ?: array( array('parent', 'parent_id'), array('published', 'state', 'enabled'), array('category', 'catid'), 'featured', 'sticky', 'access', 'id', 'language', 'tags', 'note', 'version_note', ); $hiddenFields = $displayData->get('hidden_fields') ?: array(); $hiddenFields[] = 'id'; if (!$saveHistory) { $hiddenFields[] = 'version_note'; } $html = array(); $html[] = '<fieldset class="form-vertical">'; foreach ($fields as $field) { foreach ((array) $field as $f) { if ($form->getField($f)) { if (in_array($f, $hiddenFields)) { $form->setFieldAttribute($f, 'type', 'hidden'); } $html[] = $form->renderField($f); break; } } } $html[] = '</fieldset>'; echo implode('', $html); PK ��!]� title_alias.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $form = $displayData->getForm(); $title = $form->getField('title') ? 'title' : ($form->getField('name') ? 'name' : ''); ?> <div class="form-inline form-inline-header"> <?php echo $title ? $form->renderField($title) : ''; echo $form->renderField('alias'); ?> </div> PK ��!]e;�F F params.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $app = JFactory::getApplication(); $form = $displayData->getForm(); $fieldSets = $form->getFieldsets(); if (empty($fieldSets)) { return; } $ignoreFieldsets = $displayData->get('ignore_fieldsets') ?: array(); $ignoreFields = $displayData->get('ignore_fields') ?: array(); $extraFields = $displayData->get('extra_fields') ?: array(); $tabName = $displayData->get('tab_name') ?: 'myTab'; // These are required to preserve data on save when fields are not displayed. $hiddenFieldsets = $displayData->get('hiddenFieldsets') ?: array(); // These are required to configure showing and hiding fields in the editor. $configFieldsets = $displayData->get('configFieldsets') ?: array(); // Handle the hidden fieldsets when show_options is set false if (!$displayData->get('show_options', 1)) { // The HTML buffer $html = array(); // Hide the whole buffer $html[] = '<div style="display:none;">'; // Loop over the fieldsets foreach ($fieldSets as $name => $fieldSet) { // Check if the fieldset should be ignored if (in_array($name, $ignoreFieldsets, true)) { continue; } // If it is a hidden fieldset, render the inputs if (in_array($name, $hiddenFieldsets)) { // Loop over the fields foreach ($form->getFieldset($name) as $field) { // Add only the input on the buffer $html[] = $field->input; } // Make sure the fieldset is not rendered twice $ignoreFieldsets[] = $name; } // Check if it is the correct fieldset to ignore if (strpos($name, 'basic') === 0) { // Ignore only the fieldsets which are defined by the options not the custom fields ones $ignoreFieldsets[] = $name; } } // Close the container $html[] = '</div>'; // Echo the hidden fieldsets echo implode('', $html); } // Loop again over the fieldsets foreach ($fieldSets as $name => $fieldSet) { // Ensure any fieldsets we don't want to show are skipped (including repeating formfield fieldsets) if ((isset($fieldSet->repeat) && $fieldSet->repeat === true) || in_array($name, $ignoreFieldsets) || (!empty($configFieldsets) && in_array($name, $configFieldsets, true)) || (!empty($hiddenFieldsets) && in_array($name, $hiddenFieldsets, true)) ) { continue; } // Determine the label if (!empty($fieldSet->label)) { $label = JText::_($fieldSet->label); } else { $label = strtoupper('JGLOBAL_FIELDSET_' . $name); if (JText::_($label) === $label) { $label = strtoupper($app->input->get('option') . '_' . $name . '_FIELDSET_LABEL'); } $label = JText::_($label); } // Start the tab echo JHtml::_('bootstrap.addTab', $tabName, 'attrib-' . $name, $label); // Include the description when available if (isset($fieldSet->description) && trim($fieldSet->description)) { echo '<p class="alert alert-info">' . $this->escape(JText::_($fieldSet->description)) . '</p>'; } // The name of the fieldset to render $displayData->fieldset = $name; // Force to show the options $displayData->showOptions = true; // Render the fieldset echo JLayoutHelper::render('joomla.edit.fieldset', $displayData); // End the tab echo JHtml::_('bootstrap.endTab'); } PK ��!]L�� � associations.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $form = $displayData->getForm(); $options = array( 'formControl' => $form->getFormControl(), 'hidden' => (int) ($form->getValue('language', null, '*') === '*'), ); JHtml::_('behavior.core'); JHtml::_('jquery.framework'); JText::script('JGLOBAL_ASSOC_NOT_POSSIBLE'); JText::script('JGLOBAL_ASSOCIATIONS_RESET_WARNING'); JFactory::getDocument()->addScriptOptions('system.associations.edit', $options); JHtml::_('script', 'system/associations-edit.js', array('version' => 'auto', 'relative' => true)); // JLayout for standard handling of associations fields in the administrator items edit screens. echo $form->renderFieldset('item_associations'); PK ��!]�fd� � publishingdata.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $app = JFactory::getApplication(); $form = $displayData->getForm(); $fields = $displayData->get('fields') ?: array( 'publish_up', 'publish_down', array('created', 'created_time'), array('created_by', 'created_user_id'), 'created_by_alias', array('modified', 'modified_time'), array('modified_by', 'modified_user_id'), 'version', 'hits', 'id' ); $hiddenFields = $displayData->get('hidden_fields') ?: array(); foreach ($fields as $field) { foreach ((array) $field as $f) { if ($form->getField($f)) { if (in_array($f, $hiddenFields)) { $form->setFieldAttribute($f, 'type', 'hidden'); } echo $form->renderField($f); break; } } } PK ��!]QF�:W W item_title.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt * * @deprecated 3.2 */ defined('_JEXEC') or die; $title = $displayData->getForm()->getValue('title'); $name = $displayData->getForm()->getValue('name'); ?> <?php if ($title) : ?> <h2><?php echo htmlspecialchars($title, ENT_QUOTES, 'UTF-8'); ?></h2> <?php endif; ?> <?php if ($name) : ?> <h2><?php echo htmlspecialchars($name, ENT_QUOTES, 'UTF-8'); ?></h2> <?php endif; PK ��!]� �� metadata.phpnu &1i� <?php /** * @package Joomla.Site * @subpackage Layout * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $form = $displayData->getForm(); // JLayout for standard handling of metadata fields in the administrator content edit screens. $fieldSets = $form->getFieldsets('metadata'); ?> <?php foreach ($fieldSets as $name => $fieldSet) : ?> <?php if (isset($fieldSet->description) && trim($fieldSet->description)) : ?> <p class="alert alert-info"><?php echo $this->escape(JText::_($fieldSet->description)); ?></p> <?php endif; ?> <?php // Include the real fields in this panel. if ($name === 'jmetadata') { echo $form->renderField('metadesc'); echo $form->renderField('metakey'); echo $form->renderField('xreference'); } foreach ($form->getFieldset($name) as $field) { if ($field->name !== 'jform[metadata][tags][]') { echo $field->renderField(); } } ?> <?php endforeach; ?> PK Ù!]�w�k k continuelist.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; var listRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/, emptyListRE = /^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/, unorderedListRE = /[*+-]\s/; CodeMirror.commands.newlineAndIndentContinueMarkdownList = function(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), replacements = []; for (var i = 0; i < ranges.length; i++) { var pos = ranges[i].head; // If we're not in Markdown mode, fall back to normal newlineAndIndent var eolState = cm.getStateAfter(pos.line); var inner = CodeMirror.innerMode(cm.getMode(), eolState); if (inner.mode.name !== "markdown") { cm.execCommand("newlineAndIndent"); return; } else { eolState = inner.state; } var inList = eolState.list !== false; var inQuote = eolState.quote !== 0; var line = cm.getLine(pos.line), match = listRE.exec(line); var cursorBeforeBullet = /^\s*$/.test(line.slice(0, pos.ch)); if (!ranges[i].empty() || (!inList && !inQuote) || !match || cursorBeforeBullet) { cm.execCommand("newlineAndIndent"); return; } if (emptyListRE.test(line)) { var endOfQuote = inQuote && />\s*$/.test(line) var endOfList = !/>\s*$/.test(line) if (endOfQuote || endOfList) cm.replaceRange("", { line: pos.line, ch: 0 }, { line: pos.line, ch: pos.ch + 1 }); replacements[i] = "\n"; } else { var indent = match[1], after = match[5]; var numbered = !(unorderedListRE.test(match[2]) || match[2].indexOf(">") >= 0); var bullet = numbered ? (parseInt(match[3], 10) + 1) + match[4] : match[2].replace("x", " "); replacements[i] = "\n" + indent + bullet + after; if (numbered) incrementRemainingMarkdownListNumbers(cm, pos); } } cm.replaceSelections(replacements); }; // Auto-updating Markdown list numbers when a new item is added to the // middle of a list function incrementRemainingMarkdownListNumbers(cm, pos) { var startLine = pos.line, lookAhead = 0, skipCount = 0; var startItem = listRE.exec(cm.getLine(startLine)), startIndent = startItem[1]; do { lookAhead += 1; var nextLineNumber = startLine + lookAhead; var nextLine = cm.getLine(nextLineNumber), nextItem = listRE.exec(nextLine); if (nextItem) { var nextIndent = nextItem[1]; var newNumber = (parseInt(startItem[3], 10) + lookAhead - skipCount); var nextNumber = (parseInt(nextItem[3], 10)), itemNumber = nextNumber; if (startIndent === nextIndent && !isNaN(nextNumber)) { if (newNumber === nextNumber) itemNumber = nextNumber + 1; if (newNumber > nextNumber) itemNumber = newNumber + 1; cm.replaceRange( nextLine.replace(listRE, nextIndent + itemNumber + nextItem[4] + nextItem[5]), { line: nextLineNumber, ch: 0 }, { line: nextLineNumber, ch: nextLine.length }); } else { if (startIndent.length > nextIndent.length) return; // This doesn't run if the next line immediately indents, as it is // not clear of the users intention (new indented item or same level) if ((startIndent.length < nextIndent.length) && (lookAhead === 1)) return; skipCount += 1; } } } while (nextItem); } }); PK Ù!]4�� closetag.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){function b(b){if(b.getOption("disableInput"))return a.Pass;for(var c=b.listSelections(),d=[],i=b.getOption("autoCloseTags"),j=0;j<c.length;j++){if(!c[j].empty())return a.Pass;var k=c[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state,o=m.mode.xmlCurrentTag&&m.mode.xmlCurrentTag(n),p=o&&o.name;if(!p)return a.Pass;var q="html"==m.mode.configuration,r="object"==typeof i&&i.dontCloseTags||q&&g,s="object"==typeof i&&i.indentTags||q&&h;l.end>k.ch&&(p=p.slice(0,p.length-l.end+k.ch));var t=p.toLowerCase();if(!p||"string"==l.type&&(l.end!=k.ch||!/[\"\']/.test(l.string.charAt(l.string.length-1))||1==l.string.length)||"tag"==l.type&&o.close||l.string.indexOf("/")==k.ch-l.start-1||r&&e(r,t)>-1||f(b,m.mode.xmlCurrentContext&&m.mode.xmlCurrentContext(n)||[],p,k,!0))return a.Pass;var u="object"==typeof i&&i.emptyTags;if(u&&e(u,p)>-1)d[j]={text:"/>",newPos:a.Pos(k.line,k.ch+2)};else{var v=s&&e(s,t)>-1;d[j]={indent:v,text:">"+(v?"\n\n":"")+"</"+p+">",newPos:v?a.Pos(k.line+1,0):a.Pos(k.line,k.ch+1)}}}for(var w="object"==typeof i&&i.dontIndentOnAutoClose,j=c.length-1;j>=0;j--){var x=d[j];b.replaceRange(x.text,c[j].head,c[j].anchor,"+insert");var y=b.listSelections().slice(0);y[j]={head:x.newPos,anchor:x.newPos},b.setSelections(y),!w&&x.indent&&(b.indentLine(x.newPos.line,null,!0),b.indentLine(x.newPos.line+1,null,!0))}}function c(b,c){for(var d=b.listSelections(),e=[],g=c?"/":"</",h=b.getOption("autoCloseTags"),i="object"==typeof h&&h.dontIndentOnSlash,j=0;j<d.length;j++){if(!d[j].empty())return a.Pass;var k=d[j].head,l=b.getTokenAt(k),m=a.innerMode(b.getMode(),l.state),n=m.state;if(c&&("string"==l.type||"<"!=l.string.charAt(0)||l.start!=k.ch-1))return a.Pass;var o,p="xml"!=m.mode.name&&"htmlmixed"==b.getMode().name;if(p&&"javascript"==m.mode.name)o=g+"script";else if(p&&"css"==m.mode.name)o=g+"style";else{var q=m.mode.xmlCurrentContext&&m.mode.xmlCurrentContext(n),r=q.length?q[q.length-1]:"";if(!q||q.length&&f(b,q,r,k))return a.Pass;o=g+r}">"!=b.getLine(k.line).charAt(l.end)&&(o+=">"),e[j]=o}if(b.replaceSelections(e),d=b.listSelections(),!i)for(var j=0;j<d.length;j++)(j==d.length-1||d[j].head.line<d[j+1].head.line)&&b.indentLine(d[j].head.line)}function d(b){return b.getOption("disableInput")?a.Pass:c(b,!0)}function e(a,b){if(a.indexOf)return a.indexOf(b);for(var c=0,d=a.length;c<d;++c)if(a[c]==b)return c;return-1}function f(b,c,d,e,f){if(!a.scanForClosingTag)return!1;var g=Math.min(b.lastLine()+1,e.line+500),h=a.scanForClosingTag(b,e,null,g);if(!h||h.tag!=d)return!1;for(var i=f?1:0,j=c.length-1;j>=0&&c[j]==d;j--)++i;e=h.to;for(var j=1;j<i;j++){var k=a.scanForClosingTag(b,e,null,g);if(!k||k.tag!=d)return!1;e=k.to}return!0}a.defineOption("autoCloseTags",!1,(function(c,e,f){if(f!=a.Init&&f&&c.removeKeyMap("autoCloseTags"),e){var g={name:"autoCloseTags"};"object"==typeof e&&!1===e.whenClosing||(g["'/'"]=function(a){return d(a)}),"object"==typeof e&&!1===e.whenOpening||(g["'>'"]=function(a){return b(a)}),c.addKeyMap(g)}}));var g=["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"],h=["applet","blockquote","body","button","div","dl","fieldset","form","frameset","h1","h2","h3","h4","h5","h6","head","html","iframe","layer","legend","object","ol","p","select","table","ul"];a.commands.closeTag=function(a){return c(a)}}));PK Ù!]l�=F4 4 matchtags.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../fold/xml-fold")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../fold/xml-fold"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { "use strict"; CodeMirror.defineOption("matchTags", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchTags); cm.off("viewportChange", maybeUpdateMatch); clear(cm); } if (val) { cm.state.matchBothTags = typeof val == "object" && val.bothTags; cm.on("cursorActivity", doMatchTags); cm.on("viewportChange", maybeUpdateMatch); doMatchTags(cm); } }); function clear(cm) { if (cm.state.tagHit) cm.state.tagHit.clear(); if (cm.state.tagOther) cm.state.tagOther.clear(); cm.state.tagHit = cm.state.tagOther = null; } function doMatchTags(cm) { cm.state.failedTagMatch = false; cm.operation(function() { clear(cm); if (cm.somethingSelected()) return; var cur = cm.getCursor(), range = cm.getViewport(); range.from = Math.min(range.from, cur.line); range.to = Math.max(cur.line + 1, range.to); var match = CodeMirror.findMatchingTag(cm, cur, range); if (!match) return; if (cm.state.matchBothTags) { var hit = match.at == "open" ? match.open : match.close; if (hit) cm.state.tagHit = cm.markText(hit.from, hit.to, {className: "CodeMirror-matchingtag"}); } var other = match.at == "close" ? match.open : match.close; if (other) cm.state.tagOther = cm.markText(other.from, other.to, {className: "CodeMirror-matchingtag"}); else cm.state.failedTagMatch = true; }); } function maybeUpdateMatch(cm) { if (cm.state.failedTagMatch) doMatchTags(cm); } CodeMirror.commands.toMatchingTag = function(cm) { var found = CodeMirror.findMatchingTag(cm, cm.getCursor()); if (found) { var other = found.at == "close" ? found.open : found.close; if (other) cm.extendSelection(other.to, other.from); } }; }); PK Ù!]S�'� � matchbrackets.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { var ie_lt8 = /MSIE \d/.test(navigator.userAgent) && (document.documentMode == null || document.documentMode < 8); var Pos = CodeMirror.Pos; var matching = {"(": ")>", ")": "(<", "[": "]>", "]": "[<", "{": "}>", "}": "{<", "<": ">>", ">": "<<"}; function bracketRegex(config) { return config && config.bracketRegex || /[(){}[\]]/ } function findMatchingBracket(cm, where, config) { var line = cm.getLineHandle(where.line), pos = where.ch - 1; var afterCursor = config && config.afterCursor if (afterCursor == null) afterCursor = /(^| )cm-fat-cursor($| )/.test(cm.getWrapperElement().className) var re = bracketRegex(config) // A cursor is defined as between two characters, but in in vim command mode // (i.e. not insert mode), the cursor is visually represented as a // highlighted box on top of the 2nd character. Otherwise, we allow matches // from before or after the cursor. var match = (!afterCursor && pos >= 0 && re.test(line.text.charAt(pos)) && matching[line.text.charAt(pos)]) || re.test(line.text.charAt(pos + 1)) && matching[line.text.charAt(++pos)]; if (!match) return null; var dir = match.charAt(1) == ">" ? 1 : -1; if (config && config.strict && (dir > 0) != (pos == where.ch)) return null; var style = cm.getTokenTypeAt(Pos(where.line, pos + 1)); var found = scanForBracket(cm, Pos(where.line, pos + (dir > 0 ? 1 : 0)), dir, style, config); if (found == null) return null; return {from: Pos(where.line, pos), to: found && found.pos, match: found && found.ch == match.charAt(0), forward: dir > 0}; } // bracketRegex is used to specify which type of bracket to scan // should be a regexp, e.g. /[[\]]/ // // Note: If "where" is on an open bracket, then this bracket is ignored. // // Returns false when no bracket was found, null when it reached // maxScanLines and gave up function scanForBracket(cm, where, dir, style, config) { var maxScanLen = (config && config.maxScanLineLength) || 10000; var maxScanLines = (config && config.maxScanLines) || 1000; var stack = []; var re = bracketRegex(config) var lineEnd = dir > 0 ? Math.min(where.line + maxScanLines, cm.lastLine() + 1) : Math.max(cm.firstLine() - 1, where.line - maxScanLines); for (var lineNo = where.line; lineNo != lineEnd; lineNo += dir) { var line = cm.getLine(lineNo); if (!line) continue; var pos = dir > 0 ? 0 : line.length - 1, end = dir > 0 ? line.length : -1; if (line.length > maxScanLen) continue; if (lineNo == where.line) pos = where.ch - (dir < 0 ? 1 : 0); for (; pos != end; pos += dir) { var ch = line.charAt(pos); if (re.test(ch) && (style === undefined || (cm.getTokenTypeAt(Pos(lineNo, pos + 1)) || "") == (style || ""))) { var match = matching[ch]; if (match && (match.charAt(1) == ">") == (dir > 0)) stack.push(ch); else if (!stack.length) return {pos: Pos(lineNo, pos), ch: ch}; else stack.pop(); } } } return lineNo - dir == (dir > 0 ? cm.lastLine() : cm.firstLine()) ? false : null; } function matchBrackets(cm, autoclear, config) { // Disable brace matching in long lines, since it'll cause hugely slow updates var maxHighlightLen = cm.state.matchBrackets.maxHighlightLineLength || 1000, highlightNonMatching = config && config.highlightNonMatching; var marks = [], ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var match = ranges[i].empty() && findMatchingBracket(cm, ranges[i].head, config); if (match && (match.match || highlightNonMatching !== false) && cm.getLine(match.from.line).length <= maxHighlightLen) { var style = match.match ? "CodeMirror-matchingbracket" : "CodeMirror-nonmatchingbracket"; marks.push(cm.markText(match.from, Pos(match.from.line, match.from.ch + 1), {className: style})); if (match.to && cm.getLine(match.to.line).length <= maxHighlightLen) marks.push(cm.markText(match.to, Pos(match.to.line, match.to.ch + 1), {className: style})); } } if (marks.length) { // Kludge to work around the IE bug from issue #1193, where text // input stops going to the textarea whenever this fires. if (ie_lt8 && cm.state.focused) cm.focus(); var clear = function() { cm.operation(function() { for (var i = 0; i < marks.length; i++) marks[i].clear(); }); }; if (autoclear) setTimeout(clear, 800); else return clear; } } function doMatchBrackets(cm) { cm.operation(function() { if (cm.state.matchBrackets.currentlyHighlighted) { cm.state.matchBrackets.currentlyHighlighted(); cm.state.matchBrackets.currentlyHighlighted = null; } cm.state.matchBrackets.currentlyHighlighted = matchBrackets(cm, false, cm.state.matchBrackets); }); } function clearHighlighted(cm) { if (cm.state.matchBrackets && cm.state.matchBrackets.currentlyHighlighted) { cm.state.matchBrackets.currentlyHighlighted(); cm.state.matchBrackets.currentlyHighlighted = null; } } CodeMirror.defineOption("matchBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.off("cursorActivity", doMatchBrackets); cm.off("focus", doMatchBrackets) cm.off("blur", clearHighlighted) clearHighlighted(cm); } if (val) { cm.state.matchBrackets = typeof val == "object" ? val : {}; cm.on("cursorActivity", doMatchBrackets); cm.on("focus", doMatchBrackets) cm.on("blur", clearHighlighted) } }); CodeMirror.defineExtension("matchBrackets", function() {matchBrackets(this, true);}); CodeMirror.defineExtension("findMatchingBracket", function(pos, config, oldConfig){ // Backwards-compatibility kludge if (oldConfig || typeof config == "boolean") { if (!oldConfig) { config = config ? {strict: true} : null } else { oldConfig.strict = config config = oldConfig } } return findMatchingBracket(this, pos, config) }); CodeMirror.defineExtension("scanForBracket", function(pos, dir, style, config){ return scanForBracket(this, pos, dir, style, config); }); }); PK Ù!]�<@ @ matchbrackets.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a){return a&&a.bracketRegex||/[(){}[\]]/}function c(a,c,e){var f=a.getLineHandle(c.line),g=c.ch-1,h=e&&e.afterCursor;null==h&&(h=/(^| )cm-fat-cursor($| )/.test(a.getWrapperElement().className));var k=b(e),l=!h&&g>=0&&k.test(f.text.charAt(g))&&j[f.text.charAt(g)]||k.test(f.text.charAt(g+1))&&j[f.text.charAt(++g)];if(!l)return null;var m=">"==l.charAt(1)?1:-1;if(e&&e.strict&&m>0!=(g==c.ch))return null;var n=a.getTokenTypeAt(i(c.line,g+1)),o=d(a,i(c.line,g+(m>0?1:0)),m,n,e);return null==o?null:{from:i(c.line,g),to:o&&o.pos,match:o&&o.ch==l.charAt(0),forward:m>0}}function d(a,c,d,e,f){for(var g=f&&f.maxScanLineLength||1e4,h=f&&f.maxScanLines||1e3,k=[],l=b(f),m=d>0?Math.min(c.line+h,a.lastLine()+1):Math.max(a.firstLine()-1,c.line-h),n=c.line;n!=m;n+=d){var o=a.getLine(n);if(o){var p=d>0?0:o.length-1,q=d>0?o.length:-1;if(!(o.length>g))for(n==c.line&&(p=c.ch-(d<0?1:0));p!=q;p+=d){var r=o.charAt(p);if(l.test(r)&&(void 0===e||(a.getTokenTypeAt(i(n,p+1))||"")==(e||""))){var s=j[r];if(s&&">"==s.charAt(1)==d>0)k.push(r);else{if(!k.length)return{pos:i(n,p),ch:r};k.pop()}}}}}return n-d!=(d>0?a.lastLine():a.firstLine())&&null}function e(a,b,d){for(var e=a.state.matchBrackets.maxHighlightLineLength||1e3,f=d&&d.highlightNonMatching,g=[],j=a.listSelections(),k=0;k<j.length;k++){var l=j[k].empty()&&c(a,j[k].head,d);if(l&&(l.match||!1!==f)&&a.getLine(l.from.line).length<=e){var m=l.match?"CodeMirror-matchingbracket":"CodeMirror-nonmatchingbracket";g.push(a.markText(l.from,i(l.from.line,l.from.ch+1),{className:m})),l.to&&a.getLine(l.to.line).length<=e&&g.push(a.markText(l.to,i(l.to.line,l.to.ch+1),{className:m}))}}if(g.length){h&&a.state.focused&&a.focus();var n=function(){a.operation((function(){for(var a=0;a<g.length;a++)g[a].clear()}))};if(!b)return n;setTimeout(n,800)}}function f(a){a.operation((function(){a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null),a.state.matchBrackets.currentlyHighlighted=e(a,!1,a.state.matchBrackets)}))}function g(a){a.state.matchBrackets&&a.state.matchBrackets.currentlyHighlighted&&(a.state.matchBrackets.currentlyHighlighted(),a.state.matchBrackets.currentlyHighlighted=null)}var h=/MSIE \d/.test(navigator.userAgent)&&(null==document.documentMode||document.documentMode<8),i=a.Pos,j={"(":")>",")":"(<","[":"]>","]":"[<","{":"}>","}":"{<","<":">>",">":"<<"};a.defineOption("matchBrackets",!1,(function(b,c,d){d&&d!=a.Init&&(b.off("cursorActivity",f),b.off("focus",f),b.off("blur",g),g(b)),c&&(b.state.matchBrackets="object"==typeof c?c:{},b.on("cursorActivity",f),b.on("focus",f),b.on("blur",g))})),a.defineExtension("matchBrackets",(function(){e(this,!0)})),a.defineExtension("findMatchingBracket",(function(a,b,d){return(d||"boolean"==typeof b)&&(d?(d.strict=b,b=d):b=b?{strict:!0}:null),c(this,a,b)})),a.defineExtension("scanForBracket",(function(a,b,c,e){return d(this,a,b,c,e)}))}));PK Ù!]���� � trailingspace.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){a.defineOption("showTrailingSpace",!1,(function(b,c,d){d==a.Init&&(d=!1),d&&!c?b.removeOverlay("trailingspace"):!d&&c&&b.addOverlay({token:function(a){for(var b=a.string.length,c=b;c&&/\s/.test(a.string.charAt(c-1));--c);return c>a.pos?(a.pos=c,null):(a.pos=b,"trailingspace")},name:"trailingspace"})}))}));PK Ù!]��=� closebrackets.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){function b(a,b){return"pairs"==b&&"string"==typeof a?a:"object"==typeof a&&null!=a[b]?a[b]:m[b]}function c(a){for(var b=0;b<a.length;b++){var c=a.charAt(b),e="'"+c+"'";o[e]||(o[e]=d(c))}}function d(a){return function(b){return j(b,a)}}function e(a){var b=a.state.closeBrackets;return!b||b.override?b:a.getModeAt(a.getCursor()).closeBrackets||b}function f(c){var d=e(c);if(!d||c.getOption("disableInput"))return a.Pass;for(var f=b(d,"pairs"),g=c.listSelections(),h=0;h<g.length;h++){if(!g[h].empty())return a.Pass;var i=k(c,g[h].head);if(!i||f.indexOf(i)%2!=0)return a.Pass}for(var h=g.length-1;h>=0;h--){var j=g[h].head;c.replaceRange("",n(j.line,j.ch-1),n(j.line,j.ch+1),"+delete")}}function g(c){var d=e(c),f=d&&b(d,"explode");if(!f||c.getOption("disableInput"))return a.Pass;for(var g=c.listSelections(),i=0;i<g.length;i++){if(!g[i].empty())return a.Pass;var j=k(c,g[i].head);if(!j||f.indexOf(j)%2!=0)return a.Pass}c.operation((function(){var a=c.lineSeparator()||"\n";c.replaceSelection(a+a,null),h(c,-1),g=c.listSelections();for(var b=0;b<g.length;b++){var d=g[b].head.line;c.indentLine(d,null,!0),c.indentLine(d+1,null,!0)}}))}function h(a,b){for(var c=[],d=a.listSelections(),e=0,f=0;f<d.length;f++){var g=d[f];g.head==a.getCursor()&&(e=f);var h=g.head.ch||b>0?{line:g.head.line,ch:g.head.ch+b}:{line:g.head.line-1};c.push({anchor:h,head:h})}a.setSelections(c,e)}function i(b){var c=a.cmpPos(b.anchor,b.head)>0;return{anchor:new n(b.anchor.line,b.anchor.ch+(c?-1:1)),head:new n(b.head.line,b.head.ch+(c?1:-1))}}function j(c,d){var f=e(c);if(!f||c.getOption("disableInput"))return a.Pass;var g=b(f,"pairs"),j=g.indexOf(d);if(-1==j)return a.Pass;for(var k,m=b(f,"closeBefore"),o=b(f,"triples"),p=g.charAt(j+1)==d,q=c.listSelections(),r=j%2==0,s=0;s<q.length;s++){var t,u=q[s],v=u.head,w=c.getRange(v,n(v.line,v.ch+1));if(r&&!u.empty())t="surround";else if(!p&&r||w!=d)if(p&&v.ch>1&&o.indexOf(d)>=0&&c.getRange(n(v.line,v.ch-2),v)==d+d){if(v.ch>2&&/\bstring/.test(c.getTokenTypeAt(n(v.line,v.ch-2))))return a.Pass;t="addFour"}else if(p){var x=0==v.ch?" ":c.getRange(n(v.line,v.ch-1),v);if(a.isWordChar(w)||x==d||a.isWordChar(x))return a.Pass;t="both"}else{if(!r||!(0===w.length||/\s/.test(w)||m.indexOf(w)>-1))return a.Pass;t="both"}else t=p&&l(c,v)?"both":o.indexOf(d)>=0&&c.getRange(v,n(v.line,v.ch+3))==d+d+d?"skipThree":"skip";if(k){if(k!=t)return a.Pass}else k=t}var y=j%2?g.charAt(j-1):d,z=j%2?d:g.charAt(j+1);c.operation((function(){if("skip"==k)h(c,1);else if("skipThree"==k)h(c,3);else if("surround"==k){for(var a=c.getSelections(),b=0;b<a.length;b++)a[b]=y+a[b]+z;c.replaceSelections(a,"around"),a=c.listSelections().slice();for(var b=0;b<a.length;b++)a[b]=i(a[b]);c.setSelections(a)}else"both"==k?(c.replaceSelection(y+z,null),c.triggerElectric(y+z),h(c,-1)):"addFour"==k&&(c.replaceSelection(y+y+y+y,"before"),h(c,1))}))}function k(a,b){var c=a.getRange(n(b.line,b.ch-1),n(b.line,b.ch+1));return 2==c.length?c:null}function l(a,b){var c=a.getTokenAt(n(b.line,b.ch+1));return/\bstring/.test(c.type)&&c.start==b.ch&&(0==b.ch||!/\bstring/.test(a.getTokenTypeAt(b)))}var m={pairs:"()[]{}''\"\"",closeBefore:")]}'\":;>",triples:"",explode:"[]{}"},n=a.Pos;a.defineOption("autoCloseBrackets",!1,(function(d,e,f){f&&f!=a.Init&&(d.removeKeyMap(o),d.state.closeBrackets=null),e&&(c(b(e,"pairs")),d.state.closeBrackets=e,d.addKeyMap(o))}));var o={Backspace:f,Enter:g};c(m.pairs+"`")}));PK Ù!]��[^! ^! closetag.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE /** * Tag-closer extension for CodeMirror. * * This extension adds an "autoCloseTags" option that can be set to * either true to get the default behavior, or an object to further * configure its behavior. * * These are supported options: * * `whenClosing` (default true) * Whether to autoclose when the '/' of a closing tag is typed. * `whenOpening` (default true) * Whether to autoclose the tag when the final '>' of an opening * tag is typed. * `dontCloseTags` (default is empty tags for HTML, none for XML) * An array of tag names that should not be autoclosed. * `indentTags` (default is block tags for HTML, none for XML) * An array of tag names that should, when opened, cause a * blank line to be added inside the tag, and the blank line and * closing line to be indented. * `emptyTags` (default is none) * An array of XML tag names that should be autoclosed with '/>'. * * See demos/closetag.html for a usage example. */ (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror"), require("../fold/xml-fold")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror", "../fold/xml-fold"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { CodeMirror.defineOption("autoCloseTags", false, function(cm, val, old) { if (old != CodeMirror.Init && old) cm.removeKeyMap("autoCloseTags"); if (!val) return; var map = {name: "autoCloseTags"}; if (typeof val != "object" || val.whenClosing !== false) map["'/'"] = function(cm) { return autoCloseSlash(cm); }; if (typeof val != "object" || val.whenOpening !== false) map["'>'"] = function(cm) { return autoCloseGT(cm); }; cm.addKeyMap(map); }); var htmlDontClose = ["area", "base", "br", "col", "command", "embed", "hr", "img", "input", "keygen", "link", "meta", "param", "source", "track", "wbr"]; var htmlIndent = ["applet", "blockquote", "body", "button", "div", "dl", "fieldset", "form", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "html", "iframe", "layer", "legend", "object", "ol", "p", "select", "table", "ul"]; function autoCloseGT(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(), replacements = []; var opt = cm.getOption("autoCloseTags"); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state; var tagInfo = inner.mode.xmlCurrentTag && inner.mode.xmlCurrentTag(state) var tagName = tagInfo && tagInfo.name if (!tagName) return CodeMirror.Pass var html = inner.mode.configuration == "html"; var dontCloseTags = (typeof opt == "object" && opt.dontCloseTags) || (html && htmlDontClose); var indentTags = (typeof opt == "object" && opt.indentTags) || (html && htmlIndent); if (tok.end > pos.ch) tagName = tagName.slice(0, tagName.length - tok.end + pos.ch); var lowerTagName = tagName.toLowerCase(); // Don't process the '>' at the end of an end-tag or self-closing tag if (!tagName || tok.type == "string" && (tok.end != pos.ch || !/[\"\']/.test(tok.string.charAt(tok.string.length - 1)) || tok.string.length == 1) || tok.type == "tag" && tagInfo.close || tok.string.indexOf("/") == (pos.ch - tok.start - 1) || // match something like <someTagName /> dontCloseTags && indexOf(dontCloseTags, lowerTagName) > -1 || closingTagExists(cm, inner.mode.xmlCurrentContext && inner.mode.xmlCurrentContext(state) || [], tagName, pos, true)) return CodeMirror.Pass; var emptyTags = typeof opt == "object" && opt.emptyTags; if (emptyTags && indexOf(emptyTags, tagName) > -1) { replacements[i] = { text: "/>", newPos: CodeMirror.Pos(pos.line, pos.ch + 2) }; continue; } var indent = indentTags && indexOf(indentTags, lowerTagName) > -1; replacements[i] = {indent: indent, text: ">" + (indent ? "\n\n" : "") + "</" + tagName + ">", newPos: indent ? CodeMirror.Pos(pos.line + 1, 0) : CodeMirror.Pos(pos.line, pos.ch + 1)}; } var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnAutoClose); for (var i = ranges.length - 1; i >= 0; i--) { var info = replacements[i]; cm.replaceRange(info.text, ranges[i].head, ranges[i].anchor, "+insert"); var sel = cm.listSelections().slice(0); sel[i] = {head: info.newPos, anchor: info.newPos}; cm.setSelections(sel); if (!dontIndentOnAutoClose && info.indent) { cm.indentLine(info.newPos.line, null, true); cm.indentLine(info.newPos.line + 1, null, true); } } } function autoCloseCurrent(cm, typingSlash) { var ranges = cm.listSelections(), replacements = []; var head = typingSlash ? "/" : "</"; var opt = cm.getOption("autoCloseTags"); var dontIndentOnAutoClose = (typeof opt == "object" && opt.dontIndentOnSlash); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var pos = ranges[i].head, tok = cm.getTokenAt(pos); var inner = CodeMirror.innerMode(cm.getMode(), tok.state), state = inner.state; if (typingSlash && (tok.type == "string" || tok.string.charAt(0) != "<" || tok.start != pos.ch - 1)) return CodeMirror.Pass; // Kludge to get around the fact that we are not in XML mode // when completing in JS/CSS snippet in htmlmixed mode. Does not // work for other XML embedded languages (there is no general // way to go from a mixed mode to its current XML state). var replacement, mixed = inner.mode.name != "xml" && cm.getMode().name == "htmlmixed" if (mixed && inner.mode.name == "javascript") { replacement = head + "script"; } else if (mixed && inner.mode.name == "css") { replacement = head + "style"; } else { var context = inner.mode.xmlCurrentContext && inner.mode.xmlCurrentContext(state) var top = context.length ? context[context.length - 1] : "" if (!context || (context.length && closingTagExists(cm, context, top, pos))) return CodeMirror.Pass; replacement = head + top } if (cm.getLine(pos.line).charAt(tok.end) != ">") replacement += ">"; replacements[i] = replacement; } cm.replaceSelections(replacements); ranges = cm.listSelections(); if (!dontIndentOnAutoClose) { for (var i = 0; i < ranges.length; i++) if (i == ranges.length - 1 || ranges[i].head.line < ranges[i + 1].head.line) cm.indentLine(ranges[i].head.line); } } function autoCloseSlash(cm) { if (cm.getOption("disableInput")) return CodeMirror.Pass; return autoCloseCurrent(cm, true); } CodeMirror.commands.closeTag = function(cm) { return autoCloseCurrent(cm); }; function indexOf(collection, elt) { if (collection.indexOf) return collection.indexOf(elt); for (var i = 0, e = collection.length; i < e; ++i) if (collection[i] == elt) return i; return -1; } // If xml-fold is loaded, we use its functionality to try and verify // whether a given tag is actually unclosed. function closingTagExists(cm, context, tagName, pos, newTag) { if (!CodeMirror.scanForClosingTag) return false; var end = Math.min(cm.lastLine() + 1, pos.line + 500); var nextClose = CodeMirror.scanForClosingTag(cm, pos, null, end); if (!nextClose || nextClose.tag != tagName) return false; // If the immediate wrapping context contains onCx instances of // the same tag, a closing tag only exists if there are at least // that many closing tags of that type following. var onCx = newTag ? 1 : 0 for (var i = context.length - 1; i >= 0; i--) { if (context[i] == tagName) ++onCx else break } pos = nextClose.to; for (var i = 1; i < onCx; i++) { var next = CodeMirror.scanForClosingTag(cm, pos, null, end); if (!next || next.tag != tagName) return false; pos = next.to; } return true; } }); PK Ù!]��Gi� � closebrackets.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { var defaults = { pairs: "()[]{}''\"\"", closeBefore: ")]}'\":;>", triples: "", explode: "[]{}" }; var Pos = CodeMirror.Pos; CodeMirror.defineOption("autoCloseBrackets", false, function(cm, val, old) { if (old && old != CodeMirror.Init) { cm.removeKeyMap(keyMap); cm.state.closeBrackets = null; } if (val) { ensureBound(getOption(val, "pairs")) cm.state.closeBrackets = val; cm.addKeyMap(keyMap); } }); function getOption(conf, name) { if (name == "pairs" && typeof conf == "string") return conf; if (typeof conf == "object" && conf[name] != null) return conf[name]; return defaults[name]; } var keyMap = {Backspace: handleBackspace, Enter: handleEnter}; function ensureBound(chars) { for (var i = 0; i < chars.length; i++) { var ch = chars.charAt(i), key = "'" + ch + "'" if (!keyMap[key]) keyMap[key] = handler(ch) } } ensureBound(defaults.pairs + "`") function handler(ch) { return function(cm) { return handleChar(cm, ch); }; } function getConfig(cm) { var deflt = cm.state.closeBrackets; if (!deflt || deflt.override) return deflt; var mode = cm.getModeAt(cm.getCursor()); return mode.closeBrackets || deflt; } function handleBackspace(cm) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || pairs.indexOf(around) % 2 != 0) return CodeMirror.Pass; } for (var i = ranges.length - 1; i >= 0; i--) { var cur = ranges[i].head; cm.replaceRange("", Pos(cur.line, cur.ch - 1), Pos(cur.line, cur.ch + 1), "+delete"); } } function handleEnter(cm) { var conf = getConfig(cm); var explode = conf && getOption(conf, "explode"); if (!explode || cm.getOption("disableInput")) return CodeMirror.Pass; var ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { if (!ranges[i].empty()) return CodeMirror.Pass; var around = charsAround(cm, ranges[i].head); if (!around || explode.indexOf(around) % 2 != 0) return CodeMirror.Pass; } cm.operation(function() { var linesep = cm.lineSeparator() || "\n"; cm.replaceSelection(linesep + linesep, null); moveSel(cm, -1) ranges = cm.listSelections(); for (var i = 0; i < ranges.length; i++) { var line = ranges[i].head.line; cm.indentLine(line, null, true); cm.indentLine(line + 1, null, true); } }); } function moveSel(cm, dir) { var newRanges = [], ranges = cm.listSelections(), primary = 0 for (var i = 0; i < ranges.length; i++) { var range = ranges[i] if (range.head == cm.getCursor()) primary = i var pos = range.head.ch || dir > 0 ? {line: range.head.line, ch: range.head.ch + dir} : {line: range.head.line - 1} newRanges.push({anchor: pos, head: pos}) } cm.setSelections(newRanges, primary) } function contractSelection(sel) { var inverted = CodeMirror.cmpPos(sel.anchor, sel.head) > 0; return {anchor: new Pos(sel.anchor.line, sel.anchor.ch + (inverted ? -1 : 1)), head: new Pos(sel.head.line, sel.head.ch + (inverted ? 1 : -1))}; } function handleChar(cm, ch) { var conf = getConfig(cm); if (!conf || cm.getOption("disableInput")) return CodeMirror.Pass; var pairs = getOption(conf, "pairs"); var pos = pairs.indexOf(ch); if (pos == -1) return CodeMirror.Pass; var closeBefore = getOption(conf,"closeBefore"); var triples = getOption(conf, "triples"); var identical = pairs.charAt(pos + 1) == ch; var ranges = cm.listSelections(); var opening = pos % 2 == 0; var type; for (var i = 0; i < ranges.length; i++) { var range = ranges[i], cur = range.head, curType; var next = cm.getRange(cur, Pos(cur.line, cur.ch + 1)); if (opening && !range.empty()) { curType = "surround"; } else if ((identical || !opening) && next == ch) { if (identical && stringStartsAfter(cm, cur)) curType = "both"; else if (triples.indexOf(ch) >= 0 && cm.getRange(cur, Pos(cur.line, cur.ch + 3)) == ch + ch + ch) curType = "skipThree"; else curType = "skip"; } else if (identical && cur.ch > 1 && triples.indexOf(ch) >= 0 && cm.getRange(Pos(cur.line, cur.ch - 2), cur) == ch + ch) { if (cur.ch > 2 && /\bstring/.test(cm.getTokenTypeAt(Pos(cur.line, cur.ch - 2)))) return CodeMirror.Pass; curType = "addFour"; } else if (identical) { var prev = cur.ch == 0 ? " " : cm.getRange(Pos(cur.line, cur.ch - 1), cur) if (!CodeMirror.isWordChar(next) && prev != ch && !CodeMirror.isWordChar(prev)) curType = "both"; else return CodeMirror.Pass; } else if (opening && (next.length === 0 || /\s/.test(next) || closeBefore.indexOf(next) > -1)) { curType = "both"; } else { return CodeMirror.Pass; } if (!type) type = curType; else if (type != curType) return CodeMirror.Pass; } var left = pos % 2 ? pairs.charAt(pos - 1) : ch; var right = pos % 2 ? ch : pairs.charAt(pos + 1); cm.operation(function() { if (type == "skip") { moveSel(cm, 1) } else if (type == "skipThree") { moveSel(cm, 3) } else if (type == "surround") { var sels = cm.getSelections(); for (var i = 0; i < sels.length; i++) sels[i] = left + sels[i] + right; cm.replaceSelections(sels, "around"); sels = cm.listSelections().slice(); for (var i = 0; i < sels.length; i++) sels[i] = contractSelection(sels[i]); cm.setSelections(sels); } else if (type == "both") { cm.replaceSelection(left + right, null); cm.triggerElectric(left + right); moveSel(cm, -1) } else if (type == "addFour") { cm.replaceSelection(left + left + left + left, "before"); moveSel(cm, 1) } }); } function charsAround(cm, pos) { var str = cm.getRange(Pos(pos.line, pos.ch - 1), Pos(pos.line, pos.ch + 1)); return str.length == 2 ? str : null; } function stringStartsAfter(cm, pos) { var token = cm.getTokenAt(Pos(pos.line, pos.ch + 1)) return /\bstring/.test(token.type) && token.start == pos.ch && (pos.ch == 0 || !/\bstring/.test(cm.getTokenTypeAt(pos))) } }); PK Ù!]���:� � trailingspace.jsnu &1i� // CodeMirror, copyright (c) by Marijn Haverbeke and others // Distributed under an MIT license: https://codemirror.net/LICENSE (function(mod) { if (typeof exports == "object" && typeof module == "object") // CommonJS mod(require("../../lib/codemirror")); else if (typeof define == "function" && define.amd) // AMD define(["../../lib/codemirror"], mod); else // Plain browser env mod(CodeMirror); })(function(CodeMirror) { CodeMirror.defineOption("showTrailingSpace", false, function(cm, val, prev) { if (prev == CodeMirror.Init) prev = false; if (prev && !val) cm.removeOverlay("trailingspace"); else if (!prev && val) cm.addOverlay({ token: function(stream) { for (var l = stream.string.length, i = l; i && /\s/.test(stream.string.charAt(i - 1)); --i) {} if (i > stream.pos) { stream.pos = i; return null; } stream.pos = l; return "trailingspace"; }, name: "trailingspace" }); }); }); PK Ù!]zx�� � continuelist.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror")):"function"==typeof define&&define.amd?define(["../../lib/codemirror"],a):a(CodeMirror)})((function(a){"use strict";function b(a,b){var d=b.line,e=0,f=0,g=c.exec(a.getLine(d)),h=g[1];do{e+=1;var i=d+e,j=a.getLine(i),k=c.exec(j);if(k){var l=k[1],m=parseInt(g[3],10)+e-f,n=parseInt(k[3],10),o=n;if(h!==l||isNaN(n)){if(h.length>l.length)return;if(h.length<l.length&&1===e)return;f+=1}else m===n&&(o=n+1),m>n&&(o=m+1),a.replaceRange(j.replace(c,l+o+k[4]+k[5]),{line:i,ch:0},{line:i,ch:j.length})}}while(k)}var c=/^(\s*)(>[> ]*|[*+-] \[[x ]\]\s|[*+-]\s|(\d+)([.)]))(\s*)/,d=/^(\s*)(>[> ]*|[*+-] \[[x ]\]|[*+-]|(\d+)[.)])(\s*)$/,e=/[*+-]\s/;a.commands.newlineAndIndentContinueMarkdownList=function(f){if(f.getOption("disableInput"))return a.Pass;for(var g=f.listSelections(),h=[],i=0;i<g.length;i++){var j=g[i].head,k=f.getStateAfter(j.line),l=a.innerMode(f.getMode(),k);if("markdown"!==l.mode.name)return void f.execCommand("newlineAndIndent");k=l.state;var m=!1!==k.list,n=0!==k.quote,o=f.getLine(j.line),p=c.exec(o),q=/^\s*$/.test(o.slice(0,j.ch));if(!g[i].empty()||!m&&!n||!p||q)return void f.execCommand("newlineAndIndent");if(d.test(o)){var r=n&&/>\s*$/.test(o),s=!/>\s*$/.test(o);(r||s)&&f.replaceRange("",{line:j.line,ch:0},{line:j.line,ch:j.ch+1}),h[i]="\n"}else{var t=p[1],u=p[5],v=!(e.test(p[2])||p[2].indexOf(">")>=0),w=v?parseInt(p[3],10)+1+p[4]:p[2].replace("x"," ");h[i]="\n"+t+w+u,v&&b(f,j)}}f.replaceSelections(h)}}));PK Ù!]��T�E E matchtags.min.jsnu &1i� !(function(a){"object"==typeof exports&&"object"==typeof module?a(require("../../lib/codemirror"),require("../fold/xml-fold")):"function"==typeof define&&define.amd?define(["../../lib/codemirror","../fold/xml-fold"],a):a(CodeMirror)})((function(a){"use strict";function b(a){a.state.tagHit&&a.state.tagHit.clear(),a.state.tagOther&&a.state.tagOther.clear(),a.state.tagHit=a.state.tagOther=null}function c(c){c.state.failedTagMatch=!1,c.operation((function(){if(b(c),!c.somethingSelected()){var d=c.getCursor(),e=c.getViewport();e.from=Math.min(e.from,d.line),e.to=Math.max(d.line+1,e.to);var f=a.findMatchingTag(c,d,e);if(f){if(c.state.matchBothTags){var g="open"==f.at?f.open:f.close;g&&(c.state.tagHit=c.markText(g.from,g.to,{className:"CodeMirror-matchingtag"}))}var h="close"==f.at?f.open:f.close;h?c.state.tagOther=c.markText(h.from,h.to,{className:"CodeMirror-matchingtag"}):c.state.failedTagMatch=!0}}}))}function d(a){a.state.failedTagMatch&&c(a)}a.defineOption("matchTags",!1,(function(e,f,g){g&&g!=a.Init&&(e.off("cursorActivity",c),e.off("viewportChange",d),b(e)),f&&(e.state.matchBothTags="object"==typeof f&&f.bothTags,e.on("cursorActivity",c),e.on("viewportChange",d),c(e))})),a.commands.toMatchingTag=function(b){var c=a.findMatchingTag(b,b.getCursor());if(c){var d="close"==c.at?c.open:c.close;d&&b.extendSelection(d.to,d.from)}}}));PK ��!]��j � fieldset.phpnu &1i� PK ��!]���7� � � details.phpnu &1i� PK ��!]A�ۖ � � frontediting_modules.phpnu &1i� PK ��!]�+%(� � � global.phpnu &1i� PK ��!]� F title_alias.phpnu &1i� PK ��!]e;�F F � params.phpnu &1i� PK ��!]L�� � - associations.phpnu &1i� PK ��!]�fd� � �0 publishingdata.phpnu &1i� PK ��!]QF�:W W �4 item_title.phpnu &1i� PK ��!]� �� J7 metadata.phpnu &1i� PK Ù!]�w�k k �; continuelist.jsnu &1i� PK Ù!]4�� GK closetag.min.jsnu &1i� PK Ù!]l�=F4 4 �Y matchtags.jsnu &1i� PK Ù!]S�'� � �b matchbrackets.jsnu &1i� PK Ù!]�<@ @ �} matchbrackets.min.jsnu &1i� PK Ù!]���� � ]� trailingspace.min.jsnu &1i� PK Ù!]��=� �� closebrackets.min.jsnu &1i� PK Ù!]��[^! ^! � closetag.jsnu &1i� PK Ù!]��Gi� � �� closebrackets.jsnu &1i� PK Ù!]���:� � �� trailingspace.jsnu &1i� PK Ù!]zx�� � �� continuelist.min.jsnu &1i� PK Ù!]��T�E E �� matchtags.min.jsnu &1i� PK � ~�
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка