324 lines
14 KiB
XML
324 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<addon addon_id="pluralSysMember" title="[kiror][BBCode] Plural System" version_string="0.2" version_id="2" url="https://github.com/adlerosn/" install_callback_class="pluralSysMember_Install" install_callback_method="install" uninstall_callback_class="pluralSysMember_Install" uninstall_callback_method="uninstall">
|
|
<admin_navigation/>
|
|
<admin_permissions/>
|
|
<admin_style_properties/>
|
|
<admin_templates/>
|
|
<admin_template_modifications/>
|
|
<code_events/>
|
|
<code_event_listeners>
|
|
<listener event_id="front_controller_pre_view" execute_order="10" callback_class="pluralSysMember_Listener_FrontControllerPreView" callback_method="callback" active="1" hint="" description="Add parameter to a template"/>
|
|
<listener event_id="load_class" execute_order="10" callback_class="pluralSysMember_Listener_LoadClassController" callback_method="callback" active="1" hint="XenForo_ControllerPublic_Account" description="Add subroute to edit system members."/>
|
|
</code_event_listeners>
|
|
<cron/>
|
|
<email_templates/>
|
|
<email_template_modifications/>
|
|
<optiongroups/>
|
|
<permissions>
|
|
<permission_groups>
|
|
<permission_group permission_group_id="pluralsysgrp"/>
|
|
</permission_groups>
|
|
<permissions>
|
|
<permission permission_group_id="pluralsysgrp" permission_id="showbtnineditor" permission_type="flag" default_value="unset" interface_group_id="pluralsysiface" display_order="1"/>
|
|
</permissions>
|
|
<interface_groups>
|
|
<interface_group interface_group_id="pluralsysiface" display_order="1"/>
|
|
</interface_groups>
|
|
</permissions>
|
|
<phrases>
|
|
<phrase title="custom_bb_code_pluralsys_desc" version_id="0" version_string="0.0"><![CDATA[This will identify the member of the plural system that said those things.]]></phrase>
|
|
<phrase title="custom_bb_code_pluralsys_title" global_cache="1" version_id="0" version_string="0.0"><![CDATA[Plural system]]></phrase>
|
|
<phrase title="permission_group_pluralsysgrp" version_id="0" version_string="0.0"><![CDATA[[kiror] Plural system]]></phrase>
|
|
<phrase title="permission_interface_pluralsysiface" version_id="0" version_string="0.0"><![CDATA[[kiror] Plural system]]></phrase>
|
|
<phrase title="permission_pluralsysgrp_showbtnineditor" version_id="0" version_string="0.0"><![CDATA[Show plural system button in editor]]></phrase>
|
|
</phrases>
|
|
<route_prefixes/>
|
|
<style_properties/>
|
|
<templates>
|
|
<template title="account_pluralsystemmembers" version_id="2" version_string="0.2"><![CDATA[<xen:title>Plural System Members</xen:title>
|
|
<xen:require css="account_pluralsystemmembers.css" />
|
|
<script>
|
|
<xen:include template="account_pluralsystemmembers.js" />
|
|
</script>
|
|
|
|
<form action="{xen:link 'account/system-members'}" method="post" class="xenForm AutoValidator"
|
|
data-optInOut="optIn"
|
|
data-redirect="true"
|
|
data-redirect="on">
|
|
|
|
<table class="beatiful" style="max-width: 600px;">
|
|
<tbody>
|
|
<tr class="beatiful">
|
|
<th class="beatiful alignCenter">Name</th>
|
|
<th class="beatiful alignCenter">Hue</th>
|
|
<th class="beatiful alignCenter">Delete?</th>
|
|
</tr>
|
|
<tr class="beautiful jsCloneMe">
|
|
<td class="beatiful alignCenter"><input type="text" placeholder="Name" value="" class="textCtrl" style="width: 90%;" ></td>
|
|
<td class="beatiful alignCenter"><input type="range" min="0" max="360" value="0" class="huePicker" style="background-color: hsl(0,100%,50%); box-shadow: hsl(0,100%,50%) 5px 0 5px , hsl(0,100%,50%) -5px 0 5px , hsl(0,100%,50%) 0 5px 5px , hsl(0,100%,50%) 0 -5px 5px ;"></td>
|
|
<td class="beatiful alignCenter"><a href="javascript:void(0);" class="button deletableRow">Delete!</a></td>
|
|
</tr>
|
|
<xen:foreach loop="$members" value="$member">
|
|
<tr class="beatiful">
|
|
<td class="beatiful alignCenter"><input name="member_nm_edit_{$member.member_id}" type="text" placeholder="Name" value="{$member.member_nm}" class="textCtrl" style="width: 90%;" required></td>
|
|
<td class="beatiful alignCenter"><input name="color_hue_edit_{$member.member_id}" type="range" min="0" max="360" value="{$member.color_hue}" class="huePicker" style="background-color: hsl({$member.color_hue},100%,50%); box-shadow: hsl({$member.color_hue},100%,50%) 5px 0 5px , hsl({$member.color_hue},100%,50%) -5px 0 5px , hsl({$member.color_hue},100%,50%) 0 5px 5px , hsl({$member.color_hue},100%,50%) 0 -5px 5px ;"></td>
|
|
<td class="beatiful alignCenter"><a href="javascript:void(0);" class="button deletableRow">Delete!</a></td>
|
|
</tr>
|
|
</xen:foreach>
|
|
<tr class="notsobeatiful">
|
|
<td class=""></td>
|
|
<td class=""></td>
|
|
<td class="beatiful alignCenter"><a href="javascript:void(0);" class="button addRow">Add</a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<input type="hidden" name="_xfToken" value="{$visitor.csrf_token_page}" />
|
|
<dl class="ctrlUnit submitUnit">
|
|
<dt></dt>
|
|
<dd>
|
|
<input type="submit" value="{xen:phrase save_changes}" accesskey="s" class="button primary" />
|
|
<a href="{xen:link 'account/system-members'}" class="button" >{xen:phrase undo_changes}</a>
|
|
</dd>
|
|
</dl>
|
|
</form>]]></template>
|
|
<template title="account_pluralsystemmembers.css" version_id="2" version_string="0.2"><![CDATA[table.beatiful {
|
|
width: 100%;
|
|
}
|
|
|
|
table.beatifulwithborder, th.beatiful, td.beatiful {
|
|
border: 1px solid {xen:property primaryDarker};
|
|
}
|
|
|
|
td.leftbeatiful {
|
|
border-left: 1px solid {xen:property primaryDarker};
|
|
padding-left: 5px;
|
|
}
|
|
td.rightbeatiful {
|
|
border-right: 1px solid {xen:property primaryDarker};
|
|
padding-right: 5px;
|
|
}
|
|
td.topbeatiful {
|
|
border-top: 1px solid {xen:property primaryDarker};
|
|
padding-top: 5px;
|
|
}
|
|
td.bottombeatiful {
|
|
border-bottom: 1px solid {xen:property primaryDarker};
|
|
padding-bottom: 5px;
|
|
}
|
|
|
|
th.beatiful, td.beatiful {
|
|
padding: 2px;
|
|
padding-left: 5px;
|
|
padding-right: 5px;
|
|
}
|
|
|
|
tr.beatiful:nth-child(even) {
|
|
background-color: {xen:property primaryLightest};
|
|
}
|
|
|
|
tr.beatiful:nth-child(odd) {
|
|
background-color: {xen:property primaryLighterStill};
|
|
}
|
|
|
|
th.beatiful {
|
|
font-weight: bold;
|
|
background-color: {xen:property primaryMedium};
|
|
color: {xen:property primaryLightest};
|
|
}
|
|
|
|
td.beatiful input.huePicker {
|
|
margin: 10px;
|
|
}
|
|
|
|
.alignRight {
|
|
text-align: right;
|
|
}
|
|
.alignLeft {
|
|
text-align: left;
|
|
}
|
|
.alignCenter {
|
|
text-align: center;
|
|
}
|
|
.huePicker{
|
|
padding-right: 5px;
|
|
padding-left: 5px;
|
|
}
|
|
.beatiful tr:nth-child(2) {
|
|
display: none;
|
|
}]]></template>
|
|
<template title="account_pluralsystemmembers.js" version_id="2" version_string="0.2"><![CDATA[pluralsystemmembers_addcount = 0;
|
|
|
|
function pluralsystemmembers_bind(){
|
|
$(".huePicker").unbind();
|
|
$(".addRow").unbind();
|
|
$(".huePicker").bind("change keyup keydown input", function(){
|
|
pluralsystemmembers_latestColor = 'hsl('+$(this)[0].value+',100%,50%)';
|
|
$(this)[0].style.backgroundColor = pluralsystemmembers_latestColor;
|
|
$(this)[0].style.boxShadow = (
|
|
pluralsystemmembers_latestColor+' 5px 0 5px,'+
|
|
pluralsystemmembers_latestColor+' 0 5px 5px,'+
|
|
pluralsystemmembers_latestColor+' -5px 0 5px,'+
|
|
pluralsystemmembers_latestColor+' 0 -5px 5px');
|
|
});
|
|
$(".addRow").click(function(){
|
|
var table = $("table.beatiful")[0];
|
|
var row = table.insertRow(table.rows.length-1);
|
|
var base = $(".jsCloneMe")[0].cloneNode(true);
|
|
var cn = base.childNodes;
|
|
var cn2 = null;
|
|
var i = 0;
|
|
var j = 0;
|
|
var k = 0;
|
|
var p = ['member_nm_new_','color_hue_new_'];
|
|
pluralsystemmembers_addcount++;
|
|
for(i=0;i<cn.length;i++){
|
|
if((cn[i].tagName)!='TD') continue;
|
|
else{
|
|
cn2 = cn[i].childNodes;
|
|
for(k=0;k<cn2.length;k++){
|
|
if((cn2[k].tagName)!='INPUT') continue;
|
|
else{
|
|
cn2[k].name=p[j]+pluralsystemmembers_addcount;
|
|
j++;
|
|
if(j>=2){
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
row.outerHTML = base.outerHTML;
|
|
pluralsystemmembers_bind();
|
|
});
|
|
$(".deletableRow").click(function(){
|
|
var toDelete = $(this)[0].parentNode.parentNode;
|
|
var parentOfToDelete = toDelete.parentNode;
|
|
parentOfToDelete.removeChild(toDelete);
|
|
pluralsystemmembers_bind();
|
|
});
|
|
}
|
|
|
|
function pluralsystemmembers_waitJQueryLoad(callable) {
|
|
if (window.jQuery) {
|
|
setTimeout(function(){callable();}, 100);
|
|
setTimeout(function(){callable();}, 300);
|
|
setTimeout(function(){callable();}, 500);
|
|
setTimeout(function(){callable();}, 1000);
|
|
}
|
|
else setTimeout(function(){pluralsystemmembers_waitJQueryLoad(callable);}, 100);
|
|
}
|
|
|
|
pluralsystemmembers_waitJQueryLoad(pluralsystemmembers_bind);]]></template>
|
|
<template title="account_wrapperExtend_pluralsys" version_id="2" version_string="0.2"><![CDATA[<xen:if is="{$visitor.permissions.pluralsysgrp.showbtnineditor}">
|
|
<li class="section"><h4 class="subHeading">Plural System</h4>
|
|
<ul>
|
|
<li><a
|
|
class="{xen:if "{$selectedKey} == 'account/systemMembers'", 'secondaryContent', 'primaryContent'}"
|
|
href="{xen:link account/system-members}">{xen:phrase members}</a></li>
|
|
</ul>
|
|
</li>
|
|
</xen:if>]]></template>
|
|
<template title="editor_dialog_pluralsys" version_id="2" version_string="0.2"><![CDATA[<script>
|
|
<xen:include template="editor_dialog_pluralsys.js" />
|
|
</script>
|
|
<div>
|
|
<dl class="ctrlUnit">
|
|
<dt>Plural system member:</dt>
|
|
<dd><input type="text" name="redactor_pluralsys_text" id="redactor_pluralsys_text" class="textCtrl" autofocus></input></dd>
|
|
</dl>
|
|
<dl class="ctrlUnit">
|
|
<dt>Saved presets:</dt>
|
|
<dd>
|
|
<xen:foreach loop="$system_members" key="$k" value="$sysmem">
|
|
<a class="button" href='javascript:pluralsys_fill({$k});' style="margin-bottom:5px;">{$sysmem.member_nm}</a>
|
|
</xen:foreach>
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<dl class="ctrlUnit submitUnit">
|
|
<dt></dt>
|
|
<dd>
|
|
<input type="button" name="redactor_insert_pluralsys_btn" class="redactor_modal_btn button primary" id="redactor_insert_pluralsys_btn" value="{xen:phrase insert}" />
|
|
<a href="javascript:void(null);" class="redactor_modal_btn redactor_btn_modal_close button">{xen:phrase cancel}</a>
|
|
</dd>
|
|
</dd>]]></template>
|
|
<template title="editor_dialog_pluralsys.js" version_id="2" version_string="0.2"><![CDATA[pluralsys_members = {xen:helper json, $system_members};
|
|
|
|
function pluralsys_fill(index){
|
|
document.getElementById('redactor_pluralsys_text').value = (
|
|
'color_hue='+pluralsys_members[index]['color_hue']+';'+
|
|
pluralsys_members[index]['member_nm']
|
|
);
|
|
document.getElementById('redactor_insert_pluralsys_btn').click();
|
|
}]]></template>
|
|
<template title="kiror_pluralSys_link1" version_id="2" version_string="0.2"><![CDATA[<xen:if is="{$visitor.permissions.pluralsysgrp.showbtnineditor}">
|
|
<dl class="ctrlUnit">
|
|
<dt><label>Plural System:</label></dt>
|
|
<dd>
|
|
<a class="button" href="{xen:link account/system-members}" target="_blank">Edit Members</a>
|
|
</dd>
|
|
</dl>
|
|
</xen:if>]]></template>
|
|
<template title="kiror_pluralSys_link2" version_id="2" version_string="0.2"><![CDATA[<xen:if is="{$visitor.permissions.pluralsysgrp.showbtnineditor}">
|
|
<a href="{xen:link account/system-members}">Plural System Members</a>
|
|
</xen:if>]]></template>
|
|
</templates>
|
|
<public_template_modifications>
|
|
<modification template="editor_ui.css" modification_key="addicontowysiwygeditorbutton" description="Add icon to WYSIWYG editor button." execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[/* DROPDOWN */]]></find>
|
|
<replace><![CDATA[html .redactor_toolbar li a.redactor_btn_pluralsys{
|
|
background-image: url('styles/kiror/pluralSysMember/multiplicityAlpha.png');
|
|
background-size: 16px 16px;
|
|
background-repeat: no-repeat;
|
|
background-position: 3px 3px;
|
|
}
|
|
|
|
$0]]></replace>
|
|
</modification>
|
|
<modification template="page_container_js_head" modification_key="addjstowysiwygeditorextension" description="Add js to WYSIWYG editor extension." execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[<!--XenForo_Require:JS-->]]></find>
|
|
<replace><![CDATA[$0
|
|
<script>
|
|
<xen:if is="{$visitor.permissions.pluralsysgrp.showbtnineditor}">
|
|
enablepluralsysPlugin = true;
|
|
<xen:else />
|
|
enablepluralsysPlugin = false;
|
|
</xen:if>
|
|
</script>
|
|
<script src="{xen:helper javaScriptUrl, '{$javaScriptSource}/pluralSysMember/extend.js?_v={$xenOptions.jsVersion}'}"></script>]]></replace>
|
|
</modification>
|
|
<modification template="account_personal_details" modification_key="addlinktoeditpluralsystems" description="Add link to edit plural systems in profile editing" execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[<xen:include template="custom_fields_edit" />]]></find>
|
|
<replace><![CDATA[$0
|
|
<xen:include template="kiror_pluralSys_link1" />]]></replace>
|
|
</modification>
|
|
<modification template="navigation_visitor_tab" modification_key="addlinktoeditpluralsystemsvistitortab" description="Add link to edit plural systems in visitor tab" execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[<li><a href="{xen:link account/likes]]></find>
|
|
<replace><![CDATA[<xen:include template="kiror_pluralSys_link2" />
|
|
$0]]></replace>
|
|
</modification>
|
|
<modification template="account_wrapper" modification_key="addpluralsysextend" description="Add Plural system extend" execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[<!-- slot: pre_conversations -->]]></find>
|
|
<replace><![CDATA[<xen:include template="account_wrapperExtend_pluralsys" />
|
|
$0]]></replace>
|
|
</modification>
|
|
<modification template="editor_js_setup" modification_key="addrelangbuttonjs" description="Add button label" execution_order="10" enabled="1" action="str_replace">
|
|
<find><![CDATA[RELANG.xf = {]]></find>
|
|
<replace><![CDATA[$0
|
|
pluralsys_title: "Plural System",]]></replace>
|
|
</modification>
|
|
</public_template_modifications>
|
|
<bb_code_media_sites/>
|
|
<bb_codes>
|
|
<bb_code bb_code_id="pluralsys" bb_code_mode="callback" has_option="optional" callback_class="pluralSysMember_sharedStatic" callback_method="bbrenderCallback" option_regex="" trim_lines_after="0" plain_children="0" disable_smilies="0" disable_nl2br="0" disable_autolink="0" allow_empty="1" allow_signature="1" editor_icon_url="" sprite_mode="1" active="1" sprite_params_x="0" sprite_params_y="20">
|
|
<replace_html><![CDATA[]]></replace_html>
|
|
<replace_html_email><![CDATA[]]></replace_html_email>
|
|
<replace_text><![CDATA[]]></replace_text>
|
|
<example><![CDATA[[PLURALSYS="First member from plural system"]Some text[/PLURALSYS]
|
|
[PLURALSYS="Second member from plural system"]Another text[/PLURALSYS]
|
|
[PLURALSYS="First member from plural system"]More text[/PLURALSYS]]]></example>
|
|
</bb_code>
|
|
</bb_codes>
|
|
</addon>
|