Файловый менеджер - Редактировать - /home/wuectly/www/03cbe/link.zip
Назад
PK m}!]�ѩbR R plugin.min.jsnu &1i� tinymce.PluginManager.add("link",function(e){function t(e){return e&&"A"===e.nodeName&&e.href}function n(e){return tinymce.util.Tools.grep(e,t).length>0}function r(t){return e.dom.getParent(t,"a[href]")}function i(){return r(e.selection.getStart())}function o(e){var t=e.getAttribute("data-mce-href");return t?t:e.getAttribute("href")}function a(){var t=e.plugins.contextmenu;return!!t&&t.isContextMenuVisible()}function s(n){var r,i,o;return!!(e.settings.link_context_toolbar&&!a()&&t(n)&&(r=e.selection,i=r.getRng(),o=i.startContainer,3==o.nodeType&&r.isCollapsed()&&i.startOffset>0&&i.startOffset<o.data.length))}function l(e,t){document.body.appendChild(e),e.dispatchEvent(t),document.body.removeChild(e)}function c(e){if(!tinymce.Env.ie||tinymce.Env.ie>10){var t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),l(t,n)}else{var r=window.open("","_blank");if(r){r.opener=null;var i=r.document;i.open(),i.write('<meta http-equiv="refresh" content="0; url='+tinymce.DOM.encode(e)+'">'),i.close()}}}function u(t){if(t){var n=o(t);if(/^#/.test(n)){var r=e.$(n);r.length&&e.selection.scrollIntoView(r[0],!0)}else c(t.href)}}function d(){u(i())}function f(){var t=this,r=function(e){n(e.parents)?t.show():t.hide()};n(e.dom.getParents(e.selection.getStart()))||t.hide(),e.on("nodechange",r),t.on("remove",function(){e.off("nodechange",r)})}function p(t){return function(){var n=e.settings.link_list;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof n?n(t):t(n)}}function m(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t&&t(i)),n.push(i)}),n}return r(e,n||[])}function g(t){function n(e){var t=d.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),d.find("#href").value(e.control.value())}function r(t){var r=[];if(tinymce.each(e.dom.select("a:not([href])"),function(e){var n=e.name||e.id;n&&r.push({text:n,value:"#"+n,selected:t.indexOf("#"+n)!=-1})}),r.length)return r.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:r,onselect:n}}function i(){!u&&0===w.text.length&&f&&this.parent().parent().find("#text")[0].value(this.value())}function o(t){var n=t.meta||{};g&&g.value(e.convertURL(this.value(),"href")),tinymce.each(t.meta,function(e,t){var n=d.find("#"+t);"text"===t?0===u.length&&(n.value(e),w.text=e):n.value(e)}),n.attach&&(h={href:this.value(),attach:n.attach}),n.text||i.call(this)}function a(e){var t=N.getContent();if(/</.test(t)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(t)||t.indexOf("href=")==-1))return!1;if(e){var n,r=e.childNodes;if(0===r.length)return!1;for(n=r.length-1;n>=0;n--)if(3!=r[n].nodeType)return!1}return!0}function s(e){e.meta=d.toJSON()}var l,c,u,d,f,p,g,v,b,y,x,C,w={},N=e.selection,k=e.dom;l=N.getNode(),c=k.getParent(l,"a[href]"),f=a(),w.text=u=c?c.innerText||c.textContent:N.getContent({format:"text"}),w.href=c?k.getAttrib(c,"href"):"",c?w.target=k.getAttrib(c,"target"):e.settings.default_link_target&&(w.target=e.settings.default_link_target),(C=k.getAttrib(c,"rel"))&&(w.rel=C),(C=k.getAttrib(c,"class"))&&(w["class"]=C),(C=k.getAttrib(c,"title"))&&(w.title=C),f&&(p={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){w.text=this.value()}}),t&&(g={type:"listbox",label:"Link list",values:m(t,function(t){t.value=e.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:n,value:e.convertURL(w.href,"href"),onPostRender:function(){g=this}}),e.settings.target_list!==!1&&(e.settings.target_list||(e.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),b={name:"target",type:"listbox",label:"Target",values:m(e.settings.target_list)}),e.settings.rel_list&&(v={name:"rel",type:"listbox",label:"Rel",values:m(e.settings.rel_list)}),e.settings.link_class_list&&(y={name:"class",type:"listbox",label:"Class",values:m(e.settings.link_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"a",classes:[t.value]})})})}),e.settings.link_title!==!1&&(x={name:"title",type:"textbox",label:"Title",value:w.title}),d=e.windowManager.open({title:"Insert link",data:w,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:o,onkeyup:i,onbeforecall:s},p,x,r(w.href),g,v,b,y],onSubmit:function(t){function n(t,n){var r=e.selection.getRng();tinymce.util.Delay.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(r),n(t)})})}function r(e,t){function n(e){return e=r(e),e?[e,i].join(" "):i}function r(e){var t=new RegExp("("+i.replace(" ","|")+")","g");return e&&(e=tinymce.trim(e.replace(t,""))),e?e:null}var i="noopener noreferrer";return t?n(e):r(e)}function i(){var t={href:a,target:w.target?w.target:null,rel:w.rel?w.rel:null,"class":w["class"]?w["class"]:null,title:w.title?w.title:null};e.settings.allow_unsafe_link_target||(t.rel=r(t.rel,"_blank"==t.target)),a===h.href&&(h.attach(),h={}),c?(e.focus(),f&&w.text!=u&&("innerText"in c?c.innerText=w.text:c.textContent=w.text),k.setAttribs(c,t),N.select(c),e.undoManager.add()):f?e.insertContent(k.createHTML("a",t,k.encode(w.text))):e.execCommand("mceInsertLink",!1,t)}function o(){e.undoManager.transact(i)}var a;return w=tinymce.extend(w,t.data),(a=w.href)?a.indexOf("@")>0&&a.indexOf("//")==-1&&a.indexOf("mailto:")==-1?void n("The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(e){e&&(a="mailto:"+a),o()}):e.settings.link_assume_external_targets&&!/^\w+:/i.test(a)||!e.settings.link_assume_external_targets&&/^\s*www[\.|\d\.]/i.test(a)?void n("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(e){e&&(a="http://"+a),o()}):void o():void e.execCommand("unlink")}})}var h={},v=function(e){return e.altKey===!0&&e.shiftKey===!1&&e.ctrlKey===!1&&e.metaKey===!1};e.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:p(g),stateSelector:"a[href]"}),e.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",stateSelector:"a[href]"}),e.addContextToolbar&&(e.addButton("openlink",{icon:"newtab",tooltip:"Open link",onclick:d}),e.addContextToolbar(s,"openlink | link unlink")),e.addShortcut("Meta+K","",p(g)),e.addCommand("mceLink",p(g)),e.on("click",function(e){var t=r(e.target);t&&tinymce.util.VK.metaKeyPressed(e)&&(e.preventDefault(),u(t))}),e.on("keydown",function(e){var t=i();t&&13===e.keyCode&&v(e)&&(e.preventDefault(),u(t))}),this.showDialog=g,e.addMenuItem("openlink",{text:"Open link",icon:"newtab",onclick:d,onPostRender:f,prependToContext:!0}),e.addMenuItem("link",{icon:"link",text:"Link",shortcut:"Meta+K",onclick:p(g),stateSelector:"a[href]",context:"insert",prependToContext:!0})});PK -�!][)� � config.phpnu &1i� <?php /** * @package JCE * @subpackage Editor * * @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; class WFLinkPluginConfig { public static function getConfig(&$settings) { require_once __DIR__ . '/link.php'; $plugin = new WFLinkPlugin(); $attributes = $plugin->getDefaults(); $custom_classes = (array) $plugin->getParam('custom_classes', []); $custom_classes = array_filter($custom_classes); $config = array( 'attributes' => $plugin->getDefaults(), 'custom_classes' => $custom_classes, ); // expose globally for use by Autolink and Clipboard $settings['default_link_target'] = $plugin->getParam('target', ''); // expose globally for use by Autolink and Clipboard (must be boolean) $settings['autolink_email'] = $plugin->getParam('autolink_email', 1, 1, 'boolean'); $settings['autolink_url'] = $plugin->getParam('autolink_url', 1, 1, 'boolean'); if ($plugin->getParam('link.quicklink', 1) == 0) { $config['quicklink'] = false; } if ($plugin->getParam('link.basic_dialog', 0) == 1) { $config['basic_dialog'] = true; $config['file_browser'] = $plugin->getParam('file_browser', 1); $config['target_ctrl'] = $plugin->getParam('attributes_target', 1, 1, 'boolean'); $config['title_ctrl'] = $plugin->getParam('attributes_title', 1, 1, 'boolean'); $config['classes_ctrl'] = $plugin->getParam('attributes_classes', 1, 1, 'boolean'); } $settings['link'] = $config; } } PK -�!]�#o, , tmpl/index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK -�!]gy�7� � tmpl/default.phpnu &1i� <?php /** * @package JCE * @subpackage Editor * * @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Session\Session; $tabs = WFTabs::getInstance(); ?> <form action="#" class="uk-form uk-form-horizontal"> <!-- Render Tabs --> <?php $tabs->render(); ?> <!-- Token --> <input type="hidden" id="token" name="<?php echo Session::getFormToken(); ?>" value="1" /> </form> <div class="actionPanel"> <button class="button" id="cancel"><?php echo Text::_('WF_LABEL_CANCEL')?></button> <?php if ($this->plugin->showHelp()): ?> <button class="button" id="help"><?php echo Text::_('WF_LABEL_HELP')?></button> <?php endif; ?> <button class="button" id="insert"><?php echo Text::_('WF_LABEL_INSERT')?></button> </div>PK -�!]� ^`�! �! tmpl/advanced.phpnu &1i� <?php /** * @package JCE * @subpackage Editor * * @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; use Joomla\CMS\Language\Text; ?> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="id" class="hastip" title="<?php echo Text::_('WF_LABEL_ID_DESC'); ?>"><?php echo Text::_('WF_LABEL_ID'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input id="id" type="text" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="style" class="hastip" title="<?php echo Text::_('WF_LABEL_STYLE_DESC'); ?>"><?php echo Text::_('WF_LABEL_STYLE'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="style" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="classes" class="hastip" title="<?php echo Text::_('WF_LABEL_CLASSES_DESC'); ?>"><?php echo Text::_('WF_LABEL_CLASSES'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"> <input type="text" id="classes" class="uk-datalist" list="classes_datalist" multiple /> <datalist id="classes_datalist"></datalist> </div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="dir" class="hastip" title="<?php echo Text::_('WF_LABEL_DIR_DESC'); ?>"><?php echo Text::_('WF_LABEL_DIR'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"> <select id="dir"> <option value=""><?php echo Text::_('WF_OPTION_NOT_SET'); ?></option> <option value="ltr"><?php echo Text::_('WF_OPTION_LTR'); ?></option> <option value="rtl"><?php echo Text::_('WF_OPTION_RTL'); ?></option> </select> </div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="hreflang" class="hastip" title="<?php echo Text::_('WF_LABEL_HREFLANG_DESC'); ?>"><?php echo Text::_('WF_LABEL_HREFLANG'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="hreflang" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="lang" class="hastip" title="<?php echo Text::_('WF_LABEL_LANG_DESC'); ?>"><?php echo Text::_('WF_LABEL_LANG'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input id="lang" type="text" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="charset" class="hastip" title="<?php echo Text::_('WF_LABEL_CHARSET_DESC'); ?>"><?php echo Text::_('WF_LABEL_CHARSET'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="charset" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="type" class="hastip" title="<?php echo Text::_('WF_LABEL_MIME_TYPE_DESC'); ?>"><?php echo Text::_('WF_LABEL_MIME_TYPE'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="type" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="rel" class="hastip" title="<?php echo Text::_('WF_LABEL_REL_DESC'); ?>"><?php echo Text::_('WF_LABEL_REL'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"> <input type="text" id="rel" class="uk-datalist" list="rel_datalist" multiple /> <datalist id="rel_datalist"> <option value="nofollow">No Follow</option> <option value="alternate">Alternate</option> <option value="designates">Designates</option> <option value="stylesheet">Stylesheet</option> <option value="start">Start</option> <option value="next">Next</option> <option value="prev">Prev</option> <option value="contents">Contents</option> <option value="index">Index</option> <option value="glossary">Glossary</option> <option value="copyright">Copyright</option> <option value="chapter">Chapter</option> <option value="subsection">Subsection</option> <option value="appendix">Appendix</option> <option value="help">Help</option> <option value="bookmark">Bookmark</option> <option value="sponsored">Sponsored</option> <option value="ugc">User Generated Content</option> </datalist> </div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="rev" class="hastip" title="<?php echo Text::_('WF_LABEL_REV_DESC'); ?>"><?php echo Text::_('WF_LABEL_REV'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"> <select id="rev"> <option value=""><?php echo Text::_('WF_OPTION_NOT_SET'); ?></option> <option value="alternate">Alternate</option> <option value="designates">Designates</option> <option value="stylesheet">Stylesheet</option> <option value="start">Start</option> <option value="next">Next</option> <option value="prev">Prev</option> <option value="contents">Contents</option> <option value="index">Index</option> <option value="glossary">Glossary</option> <option value="copyright">Copyright</option> <option value="chapter">Chapter</option> <option value="subsection">Subsection</option> <option value="appendix">Appendix</option> <option value="help">Help</option> <option value="bookmark">Bookmark</option> </select> </div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="tabindex" class="hastip" title="<?php echo Text::_('WF_LABEL_TABINDEX_DESC'); ?>"><?php echo Text::_('WF_LABEL_TABINDEX'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="tabindex" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-3-10" for="accesskey" class="hastip" title="<?php echo Text::_('WF_LABEL_ACCESSKEY_DESC'); ?>"><?php echo Text::_('WF_LABEL_ACCESSKEY'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10"><input type="text" id="accesskey" value="" /></div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label for="custom_attributes" class="uk-form-label uk-width-1-1 uk-width-small-3-10"><?php echo Text::_('WF_LABEL_ATTRIBUTES'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-7-10 uk-flex-wrap" id="custom_attributes"> <div class="uk-form-row uk-repeatable uk-width-1-1"> <div class="uk-form-controls uk-grid uk-grid-small uk-width-9-10"> <label class="uk-form-label uk-width-1-1 uk-width-small-1-10"><?php echo Text::_('WF_LABEL_NAME'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-3-10"> <input type="text" name="custom_attributes_name[]" /> </div> <label class="uk-form-label uk-width-1-1 uk-width-small-1-10"><?php echo Text::_('WF_LABEL_VALUE'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-5-10"> <input type="text" name="custom_attributes_value[]" /> </div> </div> <div class="uk-form-controls uk-width-1-10 uk-margin-small-left"> <button class="uk-button uk-button-link uk-repeatable-create" aria-label="<?php echo Text::_('WF_LABEL_ADD'); ?>" title="<?php echo Text::_('WF_LABEL_ADD'); ?>"><i class="uk-icon-plus"></i></button> <button class="uk-button uk-button-link uk-repeatable-delete" aria-label="<?php echo Text::_('WF_LABEL_REMOVE'); ?>" title="<?php echo Text::_('WF_LABEL_REMOVE'); ?>"><i class="uk-icon-trash"></i></button> </div> </div> </div> </div>PK -�!]���: : tmpl/link.phpnu &1i� <?php /** * @package JCE * @subpackage Editor * * @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Session\Session; $search = $this->plugin->getSearch('link'); $links = $this->plugin->getLinks(); ?> <div class="uk-form-row uk-grid uk-grid-small"> <label class="uk-form-label uk-width-1-1 uk-width-small-1-5" for="href" class="hastip" title="<?php echo Text::_('WF_LABEL_URL_DESC'); ?>"><?php echo Text::_('WF_LABEL_URL'); ?></label> <div class="uk-form-controls uk-form-icon uk-form-icon-flip uk-width-1-1 uk-width-small-4-5"> <input id="href" type="text" value="" required class="browser" /> <button class="email uk-icon uk-icon-email uk-button uk-button-link" aria-haspopup="true" aria-label="<?php echo Text::_('WF_LABEL_EMAIL'); ?>" title="<?php echo Text::_('WF_LABEL_EMAIL'); ?>"></button> </div> </div> <div class="uk-form-row uk-grid uk-grid-small"> <label for="text" class="uk-form-label uk-width-1-1 uk-width-small-1-5 hastip" title="<?php echo Text::_('WF_LINK_LINK_TEXT_DESC'); ?>"><?php echo Text::_('WF_LINK_LINK_TEXT'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-4-5"> <input id="text" type="text" value="" required placeholder="<?php echo Text::_('WF_ELEMENT_SELECTION'); ?>" /> </div> </div> <?php if ($search->isEnabled() || count($links->getLists())) : ?> <div id="link-options" class="uk-placeholder"> <?php echo $search->render(); ?> <?php echo $links->render(); ?> </div> <?php endif; ?> <div class="uk-form-row uk-hidden-mini uk-form-row uk-grid uk-grid-small" id="attributes-anchor"> <label for="anchor" class="uk-form-label uk-width-1-1 uk-width-small-1-5 hastip" title="<?php echo Text::_('WF_LABEL_ANCHORS_DESC'); ?>"><?php echo Text::_('WF_LABEL_ANCHORS'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-4-5" id="anchor_container"></div> </div> <div class="uk-form-row uk-grid uk-grid-small" id="attributes-target"> <label for="target" class="uk-form-label uk-width-1-1 uk-width-small-1-5 hastip" title="<?php echo Text::_('WF_LABEL_TARGET_DESC'); ?>"><?php echo Text::_('WF_LABEL_TARGET'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-4-5"> <select id="target"> <option value=""><?php echo Text::_('WF_OPTION_NOT_SET'); ?></option> <option value="_self"><?php echo Text::_('WF_OPTION_TARGET_SELF'); ?></option> <option value="_blank"><?php echo Text::_('WF_OPTION_TARGET_BLANK'); ?></option> <option value="_parent"><?php echo Text::_('WF_OPTION_TARGET_PARENT'); ?></option> <option value="_top"><?php echo Text::_('WF_OPTION_TARGET_TOP'); ?></option> </select> </div> </div> <div class="uk-form-row uk-grid uk-grid-small uk-hidden-mini" id="attributes-title"> <label class="uk-form-label uk-width-1-1 uk-width-small-1-5" for="title" class="hastip" title="<?php echo Text::_('WF_LABEL_TITLE_DESC'); ?>"><?php echo Text::_('WF_LABEL_TITLE'); ?></label> <div class="uk-form-controls uk-width-1-1 uk-width-small-4-5"> <input id="title" type="text" value="" /> </div> </div> PK -�!]�#o, , index.htmlnu &1i� <html><body bgcolor="#FFFFFF"></body></html>PK -�!]#x� � link.phpnu &1i� <?php /** * @package JCE * @subpackage Editor * * @copyright Copyright (c) 2009-2024 Ryan Demmer. All rights reserved * @license GNU General Public License version 2 or later; see LICENSE.txt */ \defined('_JEXEC') or die; // Link Plugin Controller class WFLinkPlugin extends WFEditorPlugin { protected $name = 'link'; public $extensions = array(); public $popups = array(); public $tabs = array(); /** * Constructor activating the default information of the class. */ public function __construct() { parent::__construct(); $this->getLinks(); $this->getSearch('link'); } public function display() { parent::display(); $document = WFDocument::getInstance(); $settings = $this->getSettings(); $document->addScriptDeclaration('LinkDialog.settings=' . json_encode($settings) . ';'); $tabs = WFTabs::getInstance(array( 'base_path' => WF_EDITOR_PLUGIN, )); // Add tabs $tabs->addTab('link', 1, array('plugin' => $this)); $tabs->addTab('advanced', $this->getParam('tabs_advanced', 1)); // get and display links $links = $this->getLinks(); $links->display(); // get and display search $search = $this->getSearch('link'); $search->display(); // Load Popups instance $popups = WFPopupsExtension::getInstance(array( 'text' => false, 'default' => $this->getParam('link.popups.default', ''), )); $popups->display(); // add link stylesheet $document->addStyleSheet(array('link'), 'plugins'); // add link scripts last $document->addScript(array('link'), 'plugins'); } public function showHelp() { return (bool) $this->getParam('help_button', 1); } public function getLinks() { static $links; if (!isset($links)) { $links = WFLinkExtension::getInstance(); } return $links; } public function getSearch($type = 'link') { static $search; if (!isset($search)) { $search = array(); } if (empty($search[$type])) { $search[$type] = WFSearchExtension::getInstance($type); } return $search[$type]; } public function getSettings($settings = array()) { $profile = $this->getProfile(); $settings = array( 'file_browser' => $this->getParam('file_browser', 1) && in_array('browser', explode(',', $profile->plugins)), 'attributes' => array( 'target' => $this->getParam('attributes_target', 1), 'anchor' => $this->getParam('attributes_anchor', 1), 'classes' => $this->getParam('attributes_classes', 1), 'title' => $this->getParam('attributes_title', 1), ), ); return parent::getSettings($settings); } } PK -�!]��͇w$ w$ link.xmlnu &1i� <?xml version="1.0" ?> <extension version="3.4" type="plugin" group="jce" method="upgrade"> <name>WF_LINK_TITLE</name> <version>2.9.99.2</version> <creationDate>22-04-2026</creationDate> <author>Ryan Demmer</author> <authorEmail>info@joomlacontenteditor.net</authorEmail> <authorUrl>https://www.joomlacontenteditor.net/</authorUrl> <copyright>Ryan Demmer</copyright> <license>GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html</license> <description>WF_LINK_DESC</description> <icon>link</icon> <layout>link</layout> <files></files> <fields name="link"> <fieldset name="config"> <field name="autolink_email" type="yesno" default="1" label="WF_LINK_AUTOLINK_EMAIL" description="WF_LINK_AUTOLINK_EMAIL_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="autolink_url" type="yesno" default="1" label="WF_LINK_AUTOLINK_URL" description="WF_LINK_AUTOLINK_URL_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="attributes_target" type="yesno" default="1" label="WF_LINK_SHOW_TARGET" description="WF_LINK_SHOW_TARGET_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="attributes_title" type="yesno" default="1" label="WF_LINK_SHOW_TITLE" description="WF_LINK_SHOW_TITLE_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="attributes_classes" type="yesno" default="1" label="WF_LINK_SHOW_CLASSES" description="WF_LINK_SHOW_CLASSES_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="help_button" type="yesno" default="1" label="WF_LINK_HELP_BUTTON" description="WF_LINK_HELP_BUTTON_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="custom_classes" type="repeatable" default="" label="WF_LABEL_CUSTOM_CLASSES" description="WF_LABEL_CUSTOM_CLASSES_DESC"> <field type="text" size="50" hiddenLabel="true" /> </field> <field name="quicklink" type="yesno" default="1" label="WF_LINK_QUICKLINK" description="WF_LINK_QUICKLINK_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="file_browser" type="yesno" default="1" label="WF_URL_FILE_BROWSER" description="WF_URL_FILE_BROWSER_DESC" class="btn-group btn-group-yesno"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field type="container" name="browser" showon="file_browser:1"></field> <field name="basic_dialog" type="yesno" default="0" label="WF_PARAM_BASIC_DIALOG" description="WF_PARAM_BASIC_DIALOG_DESC" class="btn-group btn-group-yesno"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field type="container" label="" showon="basic_dialog:0"> <field name="tabs_advanced" type="yesno" default="1" label="WF_LINK_PARAM_TAB_ADVANCED" description="WF_LINK_PARAM_TAB_ADVANCED_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="attributes_anchor" type="yesno" default="1" label="WF_LINK_SHOW_ANCHOR" description="WF_LINK_SHOW_ANCHOR_DESC"> <option value="1">JYES</option> <option value="0">JNO</option> </field> </field> <fieldset name="defaults"> <field type="heading" label="WF_PROFILES_PLUGINS_DEFAULTS" /> <field name="target" type="list" default="" label="WF_LABEL_TARGET" description="WF_LINK_PARAM_DEFAULT_TARGET_DESC"> <option value="">WF_OPTION_NOT_SET</option> <option value="_self">WF_OPTION_TARGET_SELF</option> <option value="_blank">WF_OPTION_TARGET_BLANK</option> <option value="_parent">WF_OPTION_TARGET_PARENT</option> <option value="_top">WF_OPTION_TARGET_TOP</option> </field> <field type="text" name="id" default="" size="50" label="WF_LABEL_ID" description="WF_LABEL_ID_DESC" /> <field type="text" name="style" default="" size="50" label="WF_LABEL_STYLE" description="WF_LABEL_STYLE_DESC" /> <field type="text" name="classes" default="" size="50" label="WF_LABEL_CLASSES" description="WF_LABEL_CLASSES_DESC" /> <field type="list" name="direction" default="" label="WF_LABEL_DIR" description="WF_LABEL_DIR_DESC"> <option value="">WF_OPTION_NOT_SET</option> <option value="ltr">WF_OPTION_LTR</option> <option value="rtl">WF_OPTION_RTL</option> </field> <field type="text" name="hreflang" default="" size="50" label="WF_LABEL_HREFLANG" description="WF_LABEL_HREFLANG_DESC" /> <field type="text" name="lang" default="" size="50" label="WF_LABEL_LANG" description="WF_LABEL_LANG_DESC" /> <field type="text" name="charset" default="" size="50" label="WF_LABEL_CHARSET" description="WF_LABEL_CHARSET_DESC" /> <field type="text" name="type" default="" size="50" label="WF_LABEL_MIME_TYPE" description="WF_LABEL_MIME_TYPE_DESC" /> <field type="list" name="rel" default="" class="editable" label="WF_LABEL_REL" description="WF_LABEL_REL_DESC"> <option value="">WF_OPTION_NOT_SET</option> <option value="nofollow">No Follow</option> <option value="alternate">Alternate</option> <option value="designates">Designates</option> <option value="stylesheet">Stylesheet</option> <option value="start">Start</option> <option value="next">Next</option> <option value="prev">Prev</option> <option value="contents">Contents</option> <option value="index">Index</option> <option value="glossary">Glossary</option> <option value="copyright">Copyright</option> <option value="chapter">Chapter</option> <option value="subsection">Subsection</option> <option value="appendix">Appendix</option> <option value="help">Help</option> <option value="bookmark">Bookmark</option> </field> <field type="list" name="rev" default="" label="WF_LABEL_REV" description="WF_LABEL_REV_DESC"> <option value="">WF_OPTION_NOT_SET</option> <option value="alternate">Alternate</option> <option value="designates">Designates</option> <option value="stylesheet">Stylesheet</option> <option value="start">Start</option> <option value="next">Next</option> <option value="prev">Prev</option> <option value="contents">Contents</option> <option value="index">Index</option> <option value="glossary">Glossary</option> <option value="copyright">Copyright</option> <option value="chapter">Chapter</option> <option value="subsection">Subsection</option> <option value="appendix">Appendix</option> <option value="help">Help</option> <option value="bookmark">Bookmark</option> </field> <field type="text" name="tabindex" default="" size="50" label="WF_LABEL_TABINDEX" description="WF_LABEL_TABINDEX_DESC" /> <field type="text" name="accesskey" default="" size="50" label="WF_LABEL_ACCESSKEY" description="WF_LABEL_ACCESSKEY_DESC" /> <field name="attributes" type="keyvalue" default="" label="WF_PARAM_CUSTOM_ATTRIBUTES" description="WF_PARAM_CUSTOM_ATTRIBUTES_DESC" boolean="true" /> </fieldset> </fieldset> <fieldset name="plugin.links" /> <fieldset name="plugin.search" /> <fieldset name="plugin.popups" /> </fields> <extensions>links,search,popups</extensions> <languages></languages> <help> <topic key="link.about" title="WF_LINK_HELP_ABOUT" /> <topic key="link.interface" title="WF_LINK_HELP_INTERFACE" /> <!--topic key="link.content" title="WF_LINK_HELP_LINKS" /--> <topic key="link.advanced" title="WF_LINK_HELP_ADVANCED" /> <topic key="link.insert" title="WF_LINK_HELP_INSERT" /> <topic key="link.email" title="WF_LINK_HELP_EMAIL" /> </help> </extension>PK m "]_RF4� � tmpl/edit.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_redirect * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // Include the HTML helpers. JHtml::addIncludePath(JPATH_COMPONENT . '/helpers/html'); JHtml::_('behavior.formvalidator'); JHtml::_('behavior.keepalive'); JHtml::_('formbehavior.chosen', 'select'); JFactory::getDocument()->addScriptDeclaration(" Joomla.submitbutton = function(task) { if (task == 'link.cancel' || document.formvalidator.isValid(document.getElementById('link-form'))) { Joomla.submitform(task, document.getElementById('link-form')); } }; "); ?> <form action="<?php echo JRoute::_('index.php?option=com_redirect&id=' . (int) $this->item->id); ?>" method="post" name="adminForm" id="link-form" class="form-validate form-horizontal"> <fieldset> <?php echo JHtml::_('bootstrap.startTabSet', 'myTab', array('active' => 'basic')); ?> <?php echo JHtml::_('bootstrap.addTab', 'myTab', 'basic', empty($this->item->id) ? JText::_('COM_REDIRECT_NEW_LINK') : JText::sprintf('COM_REDIRECT_EDIT_LINK', $this->item->id)); ?> <?php echo $this->form->renderField('old_url'); ?> <?php echo $this->form->renderField('new_url'); ?> <?php echo $this->form->renderField('published'); ?> <?php echo $this->form->renderField('comment'); ?> <?php echo $this->form->renderField('id'); ?> <?php echo $this->form->renderField('created_date'); ?> <?php echo $this->form->renderField('modified_date'); ?> <?php if (JComponentHelper::getParams('com_redirect')->get('mode')) : ?> <?php echo $this->form->renderFieldset('advanced'); ?> <?php endif; ?> <?php echo JHtml::_('bootstrap.endTab'); ?> <?php echo JHtml::_('bootstrap.endTabSet'); ?> <input type="hidden" name="task" value="" /> <?php echo JHtml::_('form.token'); ?> </fieldset> </form> PK m "]����K K view.html.phpnu &1i� <?php /** * @package Joomla.Administrator * @subpackage com_redirect * * @copyright (C) 2009 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * View to edit a redirect link. * * @since 1.6 */ class RedirectViewLink extends JViewLegacy { protected $item; protected $form; protected $state; /** * Display the view. * * @param string $tpl The name of the template file to parse; automatically searches through the template paths. * * @return mixed False if unsuccessful, otherwise void. * * @since 1.6 */ public function display($tpl = null) { $this->form = $this->get('Form'); $this->item = $this->get('Item'); $this->state = $this->get('State'); // Check for errors. if (count($errors = $this->get('Errors'))) { throw new Exception(implode("\n", $errors), 500); } $this->addToolbar(); parent::display($tpl); } /** * Add the page title and toolbar. * * @return void * * @since 1.6 */ protected function addToolbar() { JFactory::getApplication()->input->set('hidemainmenu', true); $isNew = ($this->item->id == 0); $canDo = JHelperContent::getActions('com_redirect'); JToolbarHelper::title($isNew ? JText::_('COM_REDIRECT_MANAGER_LINK_NEW') : JText::_('COM_REDIRECT_MANAGER_LINK_EDIT'), 'refresh redirect'); // If not checked out, can save the item. if ($canDo->get('core.edit')) { JToolbarHelper::apply('link.apply'); JToolbarHelper::save('link.save'); } /** * This component does not support Save as Copy due to uniqueness checks. * While it can be done, it causes too much confusion if the user does * not change the Old URL. */ if ($canDo->get('core.edit') && $canDo->get('core.create')) { JToolbarHelper::save2new('link.save2new'); } if (empty($this->item->id)) { JToolbarHelper::cancel('link.cancel'); } else { JToolbarHelper::cancel('link.cancel', 'JTOOLBAR_CLOSE'); } JToolbarHelper::help('JHELP_COMPONENTS_REDIRECT_MANAGER_EDIT'); } } PK m}!]�ѩbR R plugin.min.jsnu &1i� PK -�!][)� � � config.phpnu &1i� PK -�!]�#o, , �"