Skip to content

Commit

Permalink
5.5.4
Browse files Browse the repository at this point in the history
  • Loading branch information
SoftCreatR committed Sep 18, 2022
1 parent 0363ac3 commit 1bc3357
Show file tree
Hide file tree
Showing 124 changed files with 9,077 additions and 7,260 deletions.
43 changes: 43 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: Release

on:
push:
tags: ['*']
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: write

steps:
- uses: actions/checkout@v3

- uses: actions/setup-node@v3
with:
node-version: 16

- name: Create package
run: |
rm -rf *.tar.gz
npx --yes wspackager
- name: Check file existence
id: check_files
uses: andstor/file-existence-action@v1
with:
#files: "${{ github.event.repository.name }}_*.tar.gz"
files: "de.softcreatr*.tar.gz"

- name: On Build Failure
if: steps.check_files.outputs.files_exists == 'false'
run: |
echo "Packaging FAILED" && exit 1
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/') && steps.check_files.outputs.files_exists == 'true'
with:
#files: "${{ github.event.repository.name }}_*.tar.gz"
files: "de.softcreatr*.tar.gz"
132 changes: 132 additions & 0 deletions .php-cs-fixer.dist.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
<?php
$finder = PhpCsFixer\Finder::create()
->exclude('*/vendor/*')
->in(__DIR__)
->notPath('lib/system/api');

return (new PhpCsFixer\Config())
->setRiskyAllowed(true)
->setRules([
'@PSR1' => true,
'@PSR2' => true,

'array_push' => true,
'backtick_to_shell_exec' => true,
'no_alias_language_construct_call' => true,
'no_mixed_echo_print' => true,
'pow_to_exponentiation' => true,
'random_api_migration' => true,

'array_syntax' => ['syntax' => 'short'],
'no_multiline_whitespace_around_double_arrow' => true,
'no_trailing_comma_in_singleline_array' => true,
'no_whitespace_before_comma_in_array' => true,
'normalize_index_brace' => true,
'whitespace_after_comma_in_array' => true,

'non_printable_character' => ['use_escape_sequences_in_strings' => true],

'lowercase_static_reference' => true,
'magic_constant_casing' => true,
'magic_method_casing' => true,
'native_function_casing' => true,
'native_function_type_declaration_casing' => true,

'cast_spaces' => ['space' => 'none'],
'lowercase_cast' => true,
'no_unset_cast' => true,
'short_scalar_cast' => true,

'class_attributes_separation' => true,
'no_blank_lines_after_class_opening' => true,
'no_null_property_initialization' => true,
'self_accessor' => true,
'single_class_element_per_statement' => true,
'single_trait_insert_per_statement' => true,

'no_empty_comment' => true,
'single_line_comment_style' => ['comment_types' => ['hash']],

'native_constant_invocation' => ['strict' => false],

'no_alternative_syntax' => true,
'no_trailing_comma_in_list_call' => true,
'no_unneeded_control_parentheses' => ['statements' => ['break', 'clone', 'continue', 'echo_print', 'return', 'switch_case', 'yield', 'yield_from']],
'no_unneeded_curly_braces' => ['namespaces' => true],
'switch_continue_to_break' => true,
'trailing_comma_in_multiline' => ['elements' => ['arrays']],

'function_typehint_space' => true,
'lambda_not_used_import' => true,
'native_function_invocation' => ['include' => ['@all']],
'no_unreachable_default_argument_value' => true,
'nullable_type_declaration_for_default_null_value' => true,
'return_type_declaration' => true,
'static_lambda' => true,

'fully_qualified_strict_types' => true,
'no_leading_import_slash' => true,
'no_unused_imports' => true,
//'ordered_imports' => true,

'declare_equal_normalize' => true,
'dir_constant' => true,
'explicit_indirect_variable' => true,
'function_to_constant' => true,
'is_null' => true,
'no_unset_on_property' => true,

'list_syntax' => ['syntax' => 'short'],

'clean_namespace' => true,
'no_leading_namespace_whitespace' => true,
'single_blank_line_before_namespace' => true,

'no_homoglyph_names' => true,

'binary_operator_spaces' => true,
'concat_space' => ['spacing' => 'one'],
'increment_style' => ['style' => 'post'],
'logical_operators' => true,
'object_operator_without_whitespace' => true,
'operator_linebreak' => true,
'standardize_increment' => true,
'standardize_not_equals' => true,
'ternary_operator_spaces' => true,
'ternary_to_elvis_operator' => true,
'ternary_to_null_coalescing' => true,
'unary_operator_spaces' => true,

'no_useless_return' => true,
'return_assignment' => true,

'multiline_whitespace_before_semicolons' => true,
'no_empty_statement' => true,
'no_singleline_whitespace_before_semicolons' => true,
'space_after_semicolon' => ['remove_in_empty_for_expressions' => true],

'escape_implicit_backslashes' => true,
'explicit_string_variable' => true,
'heredoc_to_nowdoc' => true,
'no_binary_string' => true,
'simple_to_complex_string_variable' => true,

'array_indentation' => true,
'blank_line_before_statement' => ['statements' => ['return', 'exit']],
'compact_nullable_typehint' => true,
'method_chaining_indentation' => true,
'no_extra_blank_lines' => ['tokens' => ['case', 'continue', 'curly_brace_block', 'default', 'extra', 'parenthesis_brace_block', 'square_brace_block', 'switch', 'throw', 'use']],
'no_spaces_around_offset' => true,

// SoftCreatR style
'blank_line_between_import_groups' => true,
'global_namespace_import' => [
'import_classes' => true,
'import_constants' => true,
'import_functions' => false,
],
'ordered_imports' => [
'imports_order' => ['class', 'function', 'const'],
],
])
->setFinder($finder);
62 changes: 31 additions & 31 deletions acpMenu.xml
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<data xmlns="http://www.woltlab.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.woltlab.com http://www.woltlab.com/XSD/2019/acpMenu.xsd">
<import>
<acpmenuitem name="wcf.acp.menu.link.jcoins">
<parent>wcf.acp.menu.link.user</parent>
<options>module_jcoins</options>
<showorder>6</showorder>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.jcoinsStatementObjectType">
<controller><![CDATA[wcf\acp\form\JCoinsStatementObjectTypeListForm]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<permissions>admin.configuration.canEditOption</permissions>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.list">
<controller><![CDATA[wcf\acp\page\PurchasableJCoinsListPage]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.add">
<controller><![CDATA[wcf\acp\form\PurchasableJCoinsAddForm]]></controller>
<parent>wcf.acp.menu.link.purchasableJCoins.list</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
<icon>fa-plus</icon>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.transactionLog.list">
<controller><![CDATA[wcf\acp\page\PurchasableJCoinsTransactionLogListPage]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
</acpmenuitem>
</import>
<import>
<acpmenuitem name="wcf.acp.menu.link.jcoins">
<parent>wcf.acp.menu.link.user</parent>
<options>module_jcoins</options>
<showorder>6</showorder>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.jcoinsStatementObjectType">
<controller><![CDATA[wcf\acp\form\JCoinsStatementObjectTypeListForm]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<permissions>admin.configuration.canEditOption</permissions>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.list">
<controller><![CDATA[wcf\acp\page\PurchasableJCoinsListPage]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.add">
<controller><![CDATA[wcf\acp\form\PurchasableJCoinsAddForm]]></controller>
<parent>wcf.acp.menu.link.purchasableJCoins.list</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
<icon>fa-plus</icon>
</acpmenuitem>
<acpmenuitem name="wcf.acp.menu.link.purchasableJCoins.transactionLog.list">
<controller><![CDATA[wcf\acp\page\PurchasableJCoinsTransactionLogListPage]]></controller>
<parent>wcf.acp.menu.link.jcoins</parent>
<options>module_purchasable_jcoins</options>
<permissions>admin.purchasableJCoins.canManage</permissions>
</acpmenuitem>
</import>
</data>
76 changes: 38 additions & 38 deletions acptemplates/jCoinsStatementObjectTypeList.tpl
Original file line number Diff line number Diff line change
@@ -1,52 +1,52 @@
{include file='header' pageTitle='wcf.acp.menu.link.jcoinsStatementObjectType'}

<header class="contentHeader">
<div class="contentHeaderTitle">
<h1 class="contentTitle">{lang}wcf.acp.menu.link.jcoinsStatementObjectType{/lang}</h1>
</div>
{hascontent}
<nav class="contentHeaderNavigation">
<ul>
{content}{event name='contentHeaderNavigation'}{/content}
</ul>
</nav>
{/hascontent}
<div class="contentHeaderTitle">
<h1 class="contentTitle">{lang}wcf.acp.menu.link.jcoinsStatementObjectType{/lang}</h1>
</div>

{hascontent}
<nav class="contentHeaderNavigation">
<ul>
{content}{event name='contentHeaderNavigation'}{/content}
</ul>
</nav>
{/hascontent}
</header>

{include file='formError'}

{if $success|isset}
<p class="success">{lang}wcf.global.success.edit{/lang}</p>
<p class="success">{lang}wcf.global.success.edit{/lang}</p>
{/if}

<form method="post" action="{link controller='JCoinsStatementObjectTypeList'}{/link}">
{foreach from=$objectTypeCategories item='category'}
<section class="section">
<h2 class="sectionTitle">{lang}wcf.jcoins.statement.category.{$category}{/lang}</h2>
{foreach from=$objectTypesByCategory[$category] item='objectType'}
<dl{if $errorField == $objectType->objectTypeID} class="formError"{/if}>
<dt><label for="{@$objectType->objectType}">{lang}wcf.jcoins.statement.title.{$objectType->objectType}{/lang}</label></dt>
<dd>
<input type="number" id="{@$objectType->objectType}" name="amount[{@$objectType->objectTypeID}]" value="{$amount[$objectType->objectTypeID]}" required="required" class="tiny" />
</dd>
</dl>
{if $objectType->retractable === "1"}
<dl{if $errorField == $objectType->objectTypeID} class="formError"{/if}>
<dt><label for="{@$objectType->objectType}">{lang}wcf.jcoins.statement.title.retractable.{$objectType->objectType}{/lang}</label></dt>
<dd>
<input type="number" id="{@$objectType->objectType}" name="retractableAmount[{@$objectType->objectTypeID}]" value="{$retractableAmount[$objectType->objectTypeID]}" required="required" class="tiny" />
</dd>
</dl>
{/if}
{/foreach}
</section>
{/foreach}
{foreach from=$objectTypeCategories item='category'}
<section class="section">
<h2 class="sectionTitle">{lang}wcf.jcoins.statement.category.{$category}{/lang}</h2>
{foreach from=$objectTypesByCategory[$category] item='objectType'}
<dl{if $errorField == $objectType->objectTypeID} class="formError"{/if}>
<dt><label for="{@$objectType->objectType}">{lang}wcf.jcoins.statement.title.{$objectType->objectType}{/lang}</label></dt>
<dd>
<input type="number" id="{@$objectType->objectType}" name="amount[{@$objectType->objectTypeID}]" value="{$amount[$objectType->objectTypeID]}" required="required" class="tiny" />
</dd>
</dl>
{if $objectType->retractable === "1"}
<dl{if $errorField == $objectType->objectTypeID} class="formError"{/if}>
<dt><label for="{@$objectType->objectType}">{lang}wcf.jcoins.statement.title.retractable.{$objectType->objectType}{/lang}</label></dt>
<dd>
<input type="number" id="{@$objectType->objectType}" name="retractableAmount[{@$objectType->objectTypeID}]" value="{$retractableAmount[$objectType->objectTypeID]}" required="required" class="tiny" />
</dd>
</dl>
{/if}
{/foreach}
</section>
{/foreach}

<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
{csrfToken}
</div>
<div class="formSubmit">
<input type="submit" value="{lang}wcf.global.button.submit{/lang}" accesskey="s">
{csrfToken}
</div>
</form>

{include file='footer'}
{include file='footer'}
Loading

0 comments on commit 1bc3357

Please sign in to comment.