Compare commits
53 commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
ed56a10e50 | ||
![]() |
ecf4742588 | ||
![]() |
0426ff90c1 | ||
![]() |
62bee30a42 | ||
![]() |
a6d8888af6 | ||
![]() |
ebd7cd081c | ||
![]() |
0ad52d80f1 | ||
![]() |
7c29ba0424 | ||
![]() |
9cf7d71085 | ||
![]() |
0cca40399b | ||
![]() |
e46e23c920 | ||
![]() |
46746ae763 | ||
![]() |
68a1e3da5a | ||
![]() |
6fbd5e2d84 | ||
![]() |
55a98d0286 | ||
![]() |
d13ad37f0c | ||
![]() |
31b37b7574 | ||
![]() |
03f09cff1a | ||
![]() |
edc9a5cb09 | ||
![]() |
e658c086e0 | ||
![]() |
53449a3f57 | ||
![]() |
f9071bce3d | ||
![]() |
651c863cc2 | ||
![]() |
7d8571c680 | ||
![]() |
05318e7545 | ||
![]() |
4e796d821a | ||
![]() |
fb5ef97461 | ||
![]() |
ee8ee19862 | ||
![]() |
303d4322c1 | ||
![]() |
3059e4843d | ||
![]() |
1202d38387 | ||
![]() |
f2ef7a981f | ||
![]() |
89d66d15d4 | ||
![]() |
7311e9fc52 | ||
![]() |
b47fbf6bd8 | ||
![]() |
c8b0b3939d | ||
![]() |
8117e52ef3 | ||
![]() |
5ca43087dd | ||
![]() |
c43666f8d5 | ||
![]() |
39cdf0f1a3 | ||
![]() |
b457d80888 | ||
![]() |
9c8fb65c71 | ||
![]() |
0a1ab32eeb | ||
![]() |
6bc0fe6066 | ||
![]() |
22cfa902a9 | ||
![]() |
93edcbe481 | ||
![]() |
ce8b37bbbc | ||
![]() |
de53833053 | ||
![]() |
f4d6bd709f | ||
![]() |
78dcb32baa | ||
![]() |
686f6702f9 | ||
![]() |
43d26b0e77 | ||
![]() |
9c0f0c4933 |
452 changed files with 151276 additions and 177600 deletions
|
@ -1,9 +1,9 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Chevere.
|
||||
* This file is part of Chevereto.
|
||||
*
|
||||
* (c) Rodolfo Berrios <rodolfo@chevere.org>
|
||||
* (c) Rodolfo Berrios <rodolfo@chevereto.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
|
@ -11,202 +11,113 @@
|
|||
|
||||
declare(strict_types=1);
|
||||
|
||||
use PhpCsFixer\Fixer\Alias\NoAliasFunctionsFixer;
|
||||
use PhpCsFixer\Fixer\Alias\NoAliasLanguageConstructCallFixer;
|
||||
use PhpCsFixer\Fixer\Alias\NoMixedEchoPrintFixer;
|
||||
use PhpCsFixer\Fixer\ArrayNotation\ArraySyntaxFixer;
|
||||
use PhpCsFixer\Fixer\ArrayNotation\NoWhitespaceBeforeCommaInArrayFixer;
|
||||
use PhpCsFixer\Fixer\ArrayNotation\WhitespaceAfterCommaInArrayFixer;
|
||||
use PhpCsFixer\Fixer\Basic\BracesFixer;
|
||||
use PhpCsFixer\Fixer\Basic\EncodingFixer;
|
||||
use PhpCsFixer\Fixer\Casing\ConstantCaseFixer;
|
||||
use PhpCsFixer\Fixer\Casing\LowercaseKeywordsFixer;
|
||||
use PhpCsFixer\Fixer\CastNotation\LowercaseCastFixer;
|
||||
use PhpCsFixer\Fixer\CastNotation\ShortScalarCastFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\ClassAttributesSeparationFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\ClassDefinitionFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\NoBlankLinesAfterClassOpeningFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\ProtectedToPrivateFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\SingleClassElementPerStatementFixer;
|
||||
use PhpCsFixer\Fixer\ClassNotation\VisibilityRequiredFixer;
|
||||
use PhpCsFixer\Fixer\ArrayNotation\NoMultilineWhitespaceAroundDoubleArrowFixer;
|
||||
use PhpCsFixer\Fixer\ArrayNotation\NormalizeIndexBraceFixer;
|
||||
use PhpCsFixer\Fixer\Casing\IntegerLiteralCaseFixer;
|
||||
use PhpCsFixer\Fixer\Casing\LowercaseStaticReferenceFixer;
|
||||
use PhpCsFixer\Fixer\Casing\MagicConstantCasingFixer;
|
||||
use PhpCsFixer\Fixer\Casing\MagicMethodCasingFixer;
|
||||
use PhpCsFixer\Fixer\Casing\NativeFunctionCasingFixer;
|
||||
use PhpCsFixer\Fixer\Casing\NativeFunctionTypeDeclarationCasingFixer;
|
||||
use PhpCsFixer\Fixer\CastNotation\NoShortBoolCastFixer;
|
||||
use PhpCsFixer\Fixer\CastNotation\NoUnsetCastFixer;
|
||||
use PhpCsFixer\Fixer\Comment\HeaderCommentFixer;
|
||||
use PhpCsFixer\Fixer\Comment\NoTrailingWhitespaceInCommentFixer;
|
||||
use PhpCsFixer\Fixer\Comment\SingleLineCommentStyleFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\ElseifFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\IncludeFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\NoBreakCommentFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\NoUnneededControlParenthesesFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\NoUnneededCurlyBracesFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\SwitchCaseSemicolonToColonFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\SwitchCaseSpaceFixer;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\FunctionDeclarationFixer;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\MethodArgumentSpaceFixer;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\NoSpacesAfterFunctionNameFixer;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\ReturnTypeDeclarationFixer;
|
||||
use PhpCsFixer\Fixer\Import\NoLeadingImportSlashFixer;
|
||||
use PhpCsFixer\Fixer\Import\NoUnusedImportsFixer;
|
||||
use PhpCsFixer\Fixer\ControlStructure\NoAlternativeSyntaxFixer;
|
||||
use PhpCsFixer\Fixer\FunctionNotation\LambdaNotUsedImportFixer;
|
||||
use PhpCsFixer\Fixer\Import\OrderedImportsFixer;
|
||||
use PhpCsFixer\Fixer\Import\SingleImportPerStatementFixer;
|
||||
use PhpCsFixer\Fixer\Import\SingleLineAfterImportsFixer;
|
||||
use PhpCsFixer\Fixer\LanguageConstruct\CombineConsecutiveUnsetsFixer;
|
||||
use PhpCsFixer\Fixer\LanguageConstruct\DeclareEqualNormalizeFixer;
|
||||
use PhpCsFixer\Fixer\NamespaceNotation\BlankLineAfterNamespaceFixer;
|
||||
use PhpCsFixer\Fixer\Operator\BinaryOperatorSpacesFixer;
|
||||
use PhpCsFixer\Fixer\Operator\ConcatSpaceFixer;
|
||||
use PhpCsFixer\Fixer\Operator\NewWithBracesFixer;
|
||||
use PhpCsFixer\Fixer\LanguageConstruct\SingleSpaceAroundConstructFixer;
|
||||
use PhpCsFixer\Fixer\ListNotation\ListSyntaxFixer;
|
||||
use PhpCsFixer\Fixer\NamespaceNotation\CleanNamespaceFixer;
|
||||
use PhpCsFixer\Fixer\Operator\NoSpaceAroundDoubleColonFixer;
|
||||
use PhpCsFixer\Fixer\Operator\ObjectOperatorWithoutWhitespaceFixer;
|
||||
use PhpCsFixer\Fixer\Operator\TernaryOperatorSpacesFixer;
|
||||
use PhpCsFixer\Fixer\Operator\UnaryOperatorSpacesFixer;
|
||||
use PhpCsFixer\Fixer\PhpTag\BlankLineAfterOpeningTagFixer;
|
||||
use PhpCsFixer\Fixer\PhpTag\FullOpeningTagFixer;
|
||||
use PhpCsFixer\Fixer\PhpTag\NoClosingTagFixer;
|
||||
use PhpCsFixer\Fixer\Operator\StandardizeNotEqualsFixer;
|
||||
use PhpCsFixer\Fixer\PhpTag\LinebreakAfterOpeningTagFixer;
|
||||
use PhpCsFixer\Fixer\ReturnNotation\NoUselessReturnFixer;
|
||||
use PhpCsFixer\Fixer\ReturnNotation\ReturnAssignmentFixer;
|
||||
use PhpCsFixer\Fixer\Semicolon\MultilineWhitespaceBeforeSemicolonsFixer;
|
||||
use PhpCsFixer\Fixer\Semicolon\NoEmptyStatementFixer;
|
||||
use PhpCsFixer\Fixer\Semicolon\NoSinglelineWhitespaceBeforeSemicolonsFixer;
|
||||
use PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer;
|
||||
use PhpCsFixer\Fixer\StringNotation\SingleQuoteFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\BlankLineBeforeStatementFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\CompactNullableTypehintFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\IndentationTypeFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\LineEndingFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\NoExtraBlankLinesFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\NoSpacesInsideParenthesisFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\NoTrailingWhitespaceFixer;
|
||||
use PhpCsFixer\Fixer\Whitespace\SingleBlankLineAtEofFixer;
|
||||
use SlevomatCodingStandard\Sniffs\ControlStructures\RequireShortTernaryOperatorSniff;
|
||||
use SlevomatCodingStandard\Sniffs\Functions\UnusedInheritedVariablePassedToClosureSniff;
|
||||
use SlevomatCodingStandard\Sniffs\Operators\RequireCombinedAssignmentOperatorSniff;
|
||||
use SlevomatCodingStandard\Sniffs\PHP\DisallowDirectMagicInvokeCallSniff;
|
||||
use SlevomatCodingStandard\Sniffs\PHP\UselessParenthesesSniff;
|
||||
use SlevomatCodingStandard\Sniffs\PHP\UselessSemicolonSniff;
|
||||
use SlevomatCodingStandard\Sniffs\Variables\UnusedVariableSniff;
|
||||
use SlevomatCodingStandard\Sniffs\Variables\UselessVariableSniff;
|
||||
use PhpCsFixer\Fixer\Whitespace\TypesSpacesFixer;
|
||||
use Symplify\CodingStandard\Fixer\Commenting\ParamReturnAndVarTagMalformsFixer;
|
||||
use Symplify\EasyCodingStandard\Config\ECSConfig;
|
||||
use Symplify\EasyCodingStandard\ValueObject\Option;
|
||||
use Symplify\EasyCodingStandard\ValueObject\Set\SetList;
|
||||
|
||||
return static function (ECSConfig $containerConfigurator): void {
|
||||
return static function (ECSConfig $ecsConfig): void {
|
||||
$ecsConfig->parallel();
|
||||
$headerFile = __DIR__ . '/.header';
|
||||
$parameters = $containerConfigurator->parameters();
|
||||
$parameters->set(Option::SETS, [
|
||||
SetList::COMMON,
|
||||
]);
|
||||
$services = $containerConfigurator->services();
|
||||
$ecsConfig->sets([SetList::PSR_12, SetList::COMMON]);
|
||||
if (file_exists($headerFile)) {
|
||||
$services->set(HeaderCommentFixer::class)
|
||||
->call('configure', [[
|
||||
'header' => file_get_contents($headerFile),
|
||||
'location' => 'after_open',
|
||||
]]);
|
||||
$ecsConfig->ruleWithConfiguration(HeaderCommentFixer::class, [
|
||||
'header' => file_get_contents($headerFile),
|
||||
'location' => 'after_open',
|
||||
]);
|
||||
}
|
||||
$services->set(EncodingFixer::class);
|
||||
$services->set(FullOpeningTagFixer::class);
|
||||
$services->set(BlankLineAfterNamespaceFixer::class);
|
||||
$services->set(BracesFixer::class);
|
||||
$services->set(ClassDefinitionFixer::class);
|
||||
$services->set(ConstantCaseFixer::class);
|
||||
$services->set(ElseifFixer::class);
|
||||
$services->set(FunctionDeclarationFixer::class);
|
||||
$services->set(IndentationTypeFixer::class);
|
||||
$services->set(LineEndingFixer::class);
|
||||
$services->set(LowercaseKeywordsFixer::class);
|
||||
$services->set(MethodArgumentSpaceFixer::class)
|
||||
->call('configure', [[
|
||||
'on_multiline' => 'ensure_fully_multiline',
|
||||
]]);
|
||||
$services->set(NoBreakCommentFixer::class);
|
||||
$services->set(NoClosingTagFixer::class);
|
||||
$services->set(NoSpacesAfterFunctionNameFixer::class);
|
||||
$services->set(NoSpacesInsideParenthesisFixer::class);
|
||||
$services->set(NoTrailingWhitespaceFixer::class);
|
||||
$services->set(NoTrailingWhitespaceInCommentFixer::class);
|
||||
$services->set(SingleBlankLineAtEofFixer::class);
|
||||
$services->set(SingleClassElementPerStatementFixer::class)
|
||||
->call('configure', [[
|
||||
'elements' => ['property'],
|
||||
]]);
|
||||
$services->set(SingleImportPerStatementFixer::class);
|
||||
$services->set(SingleLineAfterImportsFixer::class);
|
||||
// $services->set(SwitchCaseSemicolonToColonFixer::class); broken for php 8.0
|
||||
$services->set(SwitchCaseSpaceFixer::class);
|
||||
$services->set(VisibilityRequiredFixer::class);
|
||||
$services->set(LowercaseCastFixer::class);
|
||||
$services->set(ShortScalarCastFixer::class);
|
||||
$services->set(BlankLineAfterOpeningTagFixer::class);
|
||||
$services->set(NoLeadingImportSlashFixer::class);
|
||||
$services->set(OrderedImportsFixer::class)
|
||||
->call('configure', [[
|
||||
'importsOrder' => ['class', 'function', 'const'],
|
||||
]]);
|
||||
$services->set(DeclareEqualNormalizeFixer::class)
|
||||
->call('configure', [[
|
||||
'space' => 'none',
|
||||
]]);
|
||||
$services->set(NewWithBracesFixer::class);
|
||||
$services->set(BracesFixer::class)
|
||||
->call('configure', [[
|
||||
'allow_single_line_closure' => false,
|
||||
'position_after_functions_and_oop_constructs' => 'next',
|
||||
'position_after_control_structures' => 'same',
|
||||
'position_after_anonymous_constructs' => 'same',
|
||||
]]);
|
||||
$services->set(NoBlankLinesAfterClassOpeningFixer::class);
|
||||
$services->set(VisibilityRequiredFixer::class)
|
||||
->call('configure', [[
|
||||
'elements' => ['const', 'method', 'property'],
|
||||
]]);
|
||||
$services->set(BinaryOperatorSpacesFixer::class);
|
||||
$services->set(TernaryOperatorSpacesFixer::class);
|
||||
$services->set(UnaryOperatorSpacesFixer::class);
|
||||
$services->set(ReturnTypeDeclarationFixer::class);
|
||||
$services->set(NoTrailingWhitespaceFixer::class);
|
||||
$services->set(ConcatSpaceFixer::class)
|
||||
->call('configure', [[
|
||||
'spacing' => 'one',
|
||||
]]);
|
||||
$services->set(NoSinglelineWhitespaceBeforeSemicolonsFixer::class);
|
||||
$services->set(NoWhitespaceBeforeCommaInArrayFixer::class);
|
||||
$services->set(WhitespaceAfterCommaInArrayFixer::class);
|
||||
$services->set(DeclareStrictTypesFixer::class);
|
||||
$services->set(CompactNullableTypehintFixer::class);
|
||||
$services->set(BlankLineBeforeStatementFixer::class);
|
||||
$services->set(CombineConsecutiveUnsetsFixer::class);
|
||||
$services->set(ClassAttributesSeparationFixer::class);
|
||||
$services->set(MultilineWhitespaceBeforeSemicolonsFixer::class);
|
||||
$services->set(SingleLineCommentStyleFixer::class);
|
||||
$services->set(IncludeFixer::class);
|
||||
$services->set(ObjectOperatorWithoutWhitespaceFixer::class);
|
||||
$services->set(DisallowDirectMagicInvokeCallSniff::class);
|
||||
$services->set(ParamReturnAndVarTagMalformsFixer::class);
|
||||
$services->set(UnusedVariableSniff::class);
|
||||
$services->set(UselessVariableSniff::class);
|
||||
$services->set(UnusedInheritedVariablePassedToClosureSniff::class);
|
||||
$services->set(UselessSemicolonSniff::class);
|
||||
// $services->set(UselessParenthesesSniff::class); // broken for php 8.0
|
||||
$services->set(ArraySyntaxFixer::class)
|
||||
->call('configure', [[
|
||||
'syntax' => 'short',
|
||||
]]);
|
||||
$services->set(NoUnusedImportsFixer::class);
|
||||
$services->set(OrderedImportsFixer::class);
|
||||
$services->set(NoEmptyStatementFixer::class);
|
||||
$services->set(ProtectedToPrivateFixer::class);
|
||||
$services->set(NoUnneededControlParenthesesFixer::class);
|
||||
$services->set(NoUnneededCurlyBracesFixer::class);
|
||||
$services->set(ReturnAssignmentFixer::class);
|
||||
$services->set(RequireShortTernaryOperatorSniff::class);
|
||||
$services->set(RequireCombinedAssignmentOperatorSniff::class);
|
||||
$services->set(NoExtraBlankLinesFixer::class)
|
||||
->call('configure', [[
|
||||
'tokens' => [
|
||||
'curly_brace_block',
|
||||
'extra',
|
||||
'parenthesis_brace_block',
|
||||
'square_brace_block',
|
||||
'throw',
|
||||
'use',
|
||||
]
|
||||
]]);
|
||||
$parameters = $containerConfigurator->parameters();
|
||||
$parameters->set(Option::SKIP, [
|
||||
$ecsConfig->rule(TypesSpacesFixer::class);
|
||||
$ecsConfig->rule(NoUselessReturnFixer::class);
|
||||
$ecsConfig->rule(LinebreakAfterOpeningTagFixer::class);
|
||||
$ecsConfig->rule(StandardizeNotEqualsFixer::class);
|
||||
$ecsConfig->rule(NoSpaceAroundDoubleColonFixer::class);
|
||||
$ecsConfig->rule(CleanNamespaceFixer::class);
|
||||
$ecsConfig->rule(ListSyntaxFixer::class);
|
||||
$ecsConfig->rule(SingleSpaceAroundConstructFixer::class);
|
||||
$ecsConfig->rule(LambdaNotUsedImportFixer::class);
|
||||
$ecsConfig->rule(NoAlternativeSyntaxFixer::class);
|
||||
$ecsConfig->rule(NoUnsetCastFixer::class);
|
||||
$ecsConfig->rule(NoShortBoolCastFixer::class);
|
||||
$ecsConfig->rule(NativeFunctionTypeDeclarationCasingFixer::class);
|
||||
$ecsConfig->rule(NativeFunctionCasingFixer::class);
|
||||
$ecsConfig->rule(MagicMethodCasingFixer::class);
|
||||
$ecsConfig->rule(MagicConstantCasingFixer::class);
|
||||
$ecsConfig->rule(LowercaseStaticReferenceFixer::class);
|
||||
$ecsConfig->rule(IntegerLiteralCaseFixer::class);
|
||||
$ecsConfig->rule(NormalizeIndexBraceFixer::class);
|
||||
$ecsConfig->rule(NoMultilineWhitespaceAroundDoubleArrowFixer::class);
|
||||
$ecsConfig->rule(BlankLineBeforeStatementFixer::class);
|
||||
$ecsConfig->rule(CombineConsecutiveUnsetsFixer::class);
|
||||
$ecsConfig->rule(CompactNullableTypehintFixer::class);
|
||||
$ecsConfig->rule(DeclareStrictTypesFixer::class);
|
||||
$ecsConfig->rule(IncludeFixer::class);
|
||||
$ecsConfig->rule(MultilineWhitespaceBeforeSemicolonsFixer::class);
|
||||
$ecsConfig->rule(NoAliasFunctionsFixer::class);
|
||||
$ecsConfig->rule(NoAliasLanguageConstructCallFixer::class);
|
||||
$ecsConfig->rule(NoEmptyStatementFixer::class);
|
||||
$ecsConfig->rule(NoMixedEchoPrintFixer::class);
|
||||
$ecsConfig->rule(ObjectOperatorWithoutWhitespaceFixer::class);
|
||||
$ecsConfig->rule(ParamReturnAndVarTagMalformsFixer::class);
|
||||
$ecsConfig->rule(ReturnAssignmentFixer::class);
|
||||
$ecsConfig->ruleWithConfiguration(SingleLineCommentStyleFixer::class, [
|
||||
'comment_types' => ['hash'],
|
||||
]);
|
||||
$ecsConfig->rule(SingleQuoteFixer::class);
|
||||
$ecsConfig->ruleWithConfiguration(OrderedImportsFixer::class, [
|
||||
'imports_order' => ['class', 'function', 'const'],
|
||||
]);
|
||||
$ecsConfig->ruleWithConfiguration(ArraySyntaxFixer::class, [
|
||||
'syntax' => 'short',
|
||||
]);
|
||||
$ecsConfig->ruleWithConfiguration(NoExtraBlankLinesFixer::class, [
|
||||
'tokens' => [
|
||||
'curly_brace_block',
|
||||
'extra',
|
||||
'parenthesis_brace_block',
|
||||
'square_brace_block',
|
||||
'throw',
|
||||
'use',
|
||||
],
|
||||
]);
|
||||
$ecsConfig->skip([
|
||||
SingleImportPerStatementFixer::class => null,
|
||||
]);
|
||||
};
|
||||
|
|
16
.ecs/ecs.php
16
.ecs/ecs.php
|
@ -10,13 +10,15 @@
|
|||
*/
|
||||
|
||||
use PhpCsFixer\Fixer\Strict\DeclareStrictTypesFixer;
|
||||
use PhpCsFixer\Fixer\Strict\StrictComparisonFixer;
|
||||
use Symplify\EasyCodingStandard\Config\ECSConfig;
|
||||
use Symplify\EasyCodingStandard\ValueObject\Option;
|
||||
|
||||
return static function (ECSConfig $containerConfigurator): void {
|
||||
$containerConfigurator->import(__DIR__ . '/ecs-chevere.php');
|
||||
$services = $containerConfigurator->services();
|
||||
$services->remove(DeclareStrictTypesFixer::class);
|
||||
$parameters = $containerConfigurator->parameters();
|
||||
$parameters->set(Option::SKIP, []);
|
||||
return static function (ECSConfig $ecsConfig): void {
|
||||
$ecsConfig->import(__DIR__ . '/ecs-chevere.php');
|
||||
$ecsConfig->skip([
|
||||
DeclareStrictTypesFixer::class,
|
||||
StrictComparisonFixer::class,
|
||||
getcwd() . '/vendor/*',
|
||||
getcwd() . '/content/legacy/themes/Peafowl/',
|
||||
]);
|
||||
};
|
||||
|
|
BIN
.github/banner/chevereto-ultimate-remix.png
vendored
Normal file
BIN
.github/banner/chevereto-ultimate-remix.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 170 KiB |
BIN
.github/banner/chevereto-ultimate.png
vendored
BIN
.github/banner/chevereto-ultimate.png
vendored
Binary file not shown.
Before Width: | Height: | Size: 164 KiB |
BIN
.github/screen/user-listing-selected.webp
vendored
Normal file
BIN
.github/screen/user-listing-selected.webp
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 537 KiB |
49
.github/workflows/docker.yml
vendored
49
.github/workflows/docker.yml
vendored
|
@ -15,10 +15,13 @@ jobs:
|
|||
matrix:
|
||||
os: [ubuntu-latest]
|
||||
php: ["8.1"]
|
||||
env:
|
||||
tools: composer
|
||||
ini-values: default_charset='UTF-8'
|
||||
name: Build on PHP ${{ matrix.php }} ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v3
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Get current branch
|
||||
|
@ -27,27 +30,42 @@ jobs:
|
|||
raw=$(git branch -r --contains ${{ github.ref }})
|
||||
echo "branch=${raw##*/}" >> $GITHUB_OUTPUT
|
||||
- run: echo ${{ steps.get-branch.outputs.branch }}
|
||||
- name: Setup PHP
|
||||
uses: shivammathur/setup-php@v2
|
||||
with:
|
||||
php-version: ${{ matrix.php }}
|
||||
ini-values: ${{ env.ini-values }}
|
||||
tools: ${{ env.tools }}
|
||||
env:
|
||||
fail-fast: true
|
||||
- name: Docker meta
|
||||
id: meta
|
||||
uses: docker/metadata-action@v4
|
||||
uses: docker/metadata-action@v5
|
||||
with:
|
||||
images: |
|
||||
chevereto/chevereto
|
||||
${{ env.GHCR_SLUG }}
|
||||
tags: |
|
||||
type=ref,event=branch
|
||||
type=ref,event=pr
|
||||
type=semver,pattern={{version}}
|
||||
type=semver,pattern={{major}}.{{minor}}
|
||||
type=semver,pattern={{major}}
|
||||
labels: |
|
||||
org.opencontainers.image.title=Chevereto V4
|
||||
org.opencontainers.image.description=Ultimate image sharing software 🦄
|
||||
org.opencontainers.image.description=Ultimate image and video sharing software
|
||||
org.opencontainers.image.vendor=Chevereto
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v2
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v2
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Login to GHCR
|
||||
uses: docker/login-action@v2
|
||||
uses: docker/login-action@v3
|
||||
with:
|
||||
registry: ghcr.io
|
||||
username: ${{ github.repository_owner }}
|
||||
|
@ -66,6 +84,7 @@ jobs:
|
|||
rm -rf README.md chevereto.svg rector.php
|
||||
rm -rf app/tests app/phpunit*.xml
|
||||
rm -rf app/.editions app/bin/edition
|
||||
mkdir images/_assets
|
||||
mkdir importing/{parse-users,parse-albums,no-parse}
|
||||
mv .package ..
|
||||
ls -la ../.package
|
||||
|
@ -83,19 +102,17 @@ jobs:
|
|||
run: |
|
||||
cp -a ./. ../docker/chevereto/
|
||||
ls -la ../docker/chevereto
|
||||
- name: Build
|
||||
uses: docker/bake-action@v2
|
||||
- name: Build and push
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
workdir: ../docker
|
||||
set: build.args.PHP=${{ matrix.php }}
|
||||
files: |
|
||||
./docker-bake.hcl
|
||||
${{ steps.meta.outputs.bake-file }}
|
||||
targets: build
|
||||
context: ../docker
|
||||
platforms: linux/amd64,linux/arm64
|
||||
push: true
|
||||
provenance: false
|
||||
tags: ${{ steps.meta.outputs.tags }}
|
||||
labels: ${{ steps.meta.outputs.labels }}
|
||||
- name: Check manifest
|
||||
run: |
|
||||
docker buildx imagetools inspect ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
||||
run: docker buildx imagetools inspect ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
||||
- name: Inspect image
|
||||
run: |
|
||||
docker pull ${{ env.GHCR_SLUG }}:${{ steps.meta.outputs.version }}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
name: Release
|
||||
name: Release Free edition
|
||||
|
||||
on:
|
||||
push:
|
||||
|
@ -15,7 +15,6 @@ jobs:
|
|||
env:
|
||||
tools: composer
|
||||
ini-values: default_charset='UTF-8'
|
||||
key: cache-1633608016315
|
||||
name: Release on PHP ${{ matrix.php-versions }} ${{ matrix.operating-system }}
|
||||
steps:
|
||||
- name: Checkout
|
||||
|
@ -55,23 +54,16 @@ jobs:
|
|||
rm -rf README.md chevereto.svg rector.php
|
||||
rm -rf app/tests app/phpunit*.xml
|
||||
rm -rf app/.editions app/bin/edition
|
||||
mkdir images/_assets
|
||||
mkdir importing/{parse-users,parse-albums,no-parse}
|
||||
mv .package ..
|
||||
ls -la ../.package
|
||||
- name: Archive lite
|
||||
uses: thedoctor0/zip-release@master
|
||||
with:
|
||||
directory: "."
|
||||
type: "zip"
|
||||
filename: "${{ github.ref_name}}-lite.zip"
|
||||
exclusions: "/*app/vendor/*"
|
||||
- name: Archive release
|
||||
uses: thedoctor0/zip-release@master
|
||||
with:
|
||||
directory: "."
|
||||
type: "zip"
|
||||
filename: "${{ github.ref_name}}.zip"
|
||||
exclusions: "${{ github.ref_name}}-lite.zip"
|
||||
- name: Upload artifacts
|
||||
uses: ncipollo/release-action@v1
|
||||
with:
|
||||
|
@ -80,6 +72,5 @@ jobs:
|
|||
bodyFile: "../.package/${{ github.ref_name}}.txt"
|
||||
artifacts: >
|
||||
../.package/${{ github.ref_name}}.txt,
|
||||
${{ github.ref_name}}.zip,
|
||||
${{ github.ref_name}}-lite.zip
|
||||
${{ github.ref_name}}.zip
|
||||
token: ${{ secrets.GITHUB_TOKEN }}
|
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -1,6 +1,8 @@
|
|||
.DS_Store
|
||||
/.env
|
||||
/.idea
|
||||
/app/.upgrading
|
||||
/app/CHEVERETO_LICENSE_KEY**
|
||||
/app/vendor
|
||||
/app/build
|
||||
/app/.phpunit.cache
|
||||
|
|
10
.htaccess
10
.htaccess
|
@ -20,12 +20,12 @@ Options -MultiViews
|
|||
#RewriteRule images/.+\.(gif|jpe?g|a?png|bmp|webp) content/images/system/default/404.gif [NC,L]
|
||||
RewriteRule images/.+\.(gif|jpe?g|png|bmp|webp) - [NC,L,R=404]
|
||||
|
||||
# PHP front controller
|
||||
# PHP front controller
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
RewriteRule . index.php [L]
|
||||
|
||||
# Single PHP-entrypoint
|
||||
RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] [NC]
|
||||
RewriteRule \.php$ - [NC,L,F,R=404]
|
||||
</IfModule>
|
||||
# Single PHP-entrypoint
|
||||
RewriteCond %{THE_REQUEST} ^.+?\ [^?]+\.php[?\ ] [NC]
|
||||
RewriteRule \.php$ - [NC,L,F,R=404]
|
||||
</IfModule>
|
||||
|
|
|
@ -1,18 +0,0 @@
|
|||
Chevereto 4.0.6 (2022-01-03)
|
||||
|
||||
- ✅ Improved user avatar upload handling
|
||||
- 🐘 Added support for PHP 8.2
|
||||
- 🐞 Fixed bug with consent screen
|
||||
- 🐞 Fixed bug with undefined constant
|
||||
- 🐞 Fixed bug with flood uploads notify
|
||||
- 🐞 Fixed bug with forced privacy settings
|
||||
- 🐞 Fixed bug with not working enter key on textarea
|
||||
- 🐞 Fixed bug with not working pages
|
||||
- 🐞 Fixed bug with wrong links on notification emails
|
||||
- 🐞 Fixed bug with wrong links on tabs
|
||||
- 💅 Improved button display (compact style)
|
||||
- 💅 Improved display for RTL languages
|
||||
- 💅 Listing viewer now goes zoom-in by default
|
||||
- 💅 Removed listing viewer keyboard shortcuts reference
|
||||
- 🦄 Added customizable semantics for content
|
||||
- 🛍️ Added custom call to action buttons for albums
|
8
.package/4.2.4.txt
Normal file
8
.package/4.2.4.txt
Normal file
|
@ -0,0 +1,8 @@
|
|||
Chevereto 4.2.4 (2024-12-05)
|
||||
|
||||
- Added Chevereto Lite edition
|
||||
- Added placeholders for comments code
|
||||
- Improved comment code page id
|
||||
- Improved ENV handling
|
||||
- Fixed bug affecting CLI runtime
|
||||
- Fixed bug affecting MariaDB 10.4 compatibility
|
|
@ -1,13 +1,13 @@
|
|||
__ __
|
||||
____/ / ___ _ _____ _______ / /____
|
||||
/ __/ _ \/ -_) |/ / -_) __/ -_) __/ _ \
|
||||
__ __
|
||||
____/ / ___ _ _____ _______ / /____
|
||||
/ __/ _ \/ -_) |/ / -_) __/ -_) __/ _ \
|
||||
\__/_//_/\__/|___/\__/_/ \__/\__/\___/
|
||||
|
||||
https://chevereto.com/
|
||||
|
||||
This package is another quality release
|
||||
made by Chevereto Software. We ship
|
||||
indie software from Concepcion, Chile
|
||||
made by Chevereto Software. We build
|
||||
indie software from Concepcion (Chile)
|
||||
to the rest of the world.
|
||||
|
||||
Many thanks for using our software and
|
||||
|
@ -15,6 +15,8 @@ trusting our work. This software exists
|
|||
thanks to your ongoing support.
|
||||
|
||||
~
|
||||
Rodolfo Berrios A.
|
||||
https://rodolfoberrios.com/
|
||||
|
||||
GRACIAS
|
||||
GRACIAS!
|
||||
(Thank you!)
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevereto\Legacy\getCheveretoEnv;
|
||||
use function Chevereto\Legacy\loaderHandler;
|
||||
|
||||
class CustomTinkerwellDriver extends TinkerwellDriver
|
||||
|
@ -25,7 +26,7 @@ class CustomTinkerwellDriver extends TinkerwellDriver
|
|||
require $projectPath . '/app/legacy/load/loader.php';
|
||||
include loaderHandler(
|
||||
_cookie: [],
|
||||
_env: $_ENV,
|
||||
_env: getCheveretoEnv(),
|
||||
_files: [],
|
||||
_get: [],
|
||||
_post: [],
|
||||
|
|
80
README.md
80
README.md
|
@ -1,27 +1,71 @@
|
|||
# Chevereto: Ultimate image sharing software 🦄
|
||||
|
||||
> 🔔 [Subscribe](https://chv.to/newsletter) to don't miss any update regarding Chevereto.
|
||||
# Chevereto: Ultimate image and video sharing software
|
||||
|
||||
<p align="center">
|
||||
<img alt="Chevereto" src="chevereto.svg" width="50%">
|
||||
<a href="https://chevereto.com"><img alt="Chevereto" src="chevereto.svg" width="80%"></a>
|
||||
</p>
|
||||
|
||||

|
||||
[](https://chevereto.com)
|
||||
|
||||
[](https://chv.to/community)
|
||||
[](https://v4-docs.chevereto.com/)
|
||||
[](https://chevereto.com/community)
|
||||
[](https://demo.chevereto.com)
|
||||
[](LICENSE)
|
||||
[](https://github.com/rodber/chevereto-free)
|
||||
[](https://awsmfoss.com/chevereto/)
|
||||
|
||||
Chevereto enables to create an image sharing website on your own server. It's your hosting and your rules, say goodbye to closures and restrictions.
|
||||
> 🔔 [Subscribe](https://chevereto.com/go/newsletter) to don't miss any update regarding Chevereto.
|
||||
|
||||

|
||||
Chevereto is a robust, self-hosted media-sharing platform that prioritizes flexibility and control. It enables you to build and manage a media-sharing website on your own server, granting you complete autonomy over your hosting environment and policies. With Chevereto, you eliminate the risk of platform restrictions and shutdowns, ensuring your site operates entirely on your terms.
|
||||
|
||||
This is the repository for **Chevereto Free** edition. You can [compare editions](https://v4-docs.chevereto.com/introduction/editions/compare.html) to find the Chevereto edition that best suits your needs.
|
||||
|
||||

|
||||
|
||||
## Requirements
|
||||
|
||||
* A [webserver](https://v4-docs.chevereto.com/application/stack/web-server.html) (Apache recommended)
|
||||
* [PHP](https://v4-docs.chevereto.com/application/stack/php.html) 8.1+ with [extensions](https://v4-docs.chevereto.com/application/stack/php.html#extensions)
|
||||
* [MySQL Server](https://v4-docs.chevereto.com/application/stack/mysql-server.html) 8.0.1+ or MariaDB Server 10.2.2+
|
||||
|
||||
## Install
|
||||
|
||||
Chevereto runs anywhere, system requirements are minimal and it can run on any server.
|
||||
|
||||
Install Chevereto following our guides for:
|
||||
|
||||
* [Docker](https://github.com/chevereto/docker) (Multi-arch image compatible with `x86_64` and `arm64`)
|
||||
* [Pure Docker](https://v4-docs.chevereto.com/guides/docker/pure-docker)
|
||||
* [Chevereto Docker](https://v4-docs.chevereto.com/guides/docker/)
|
||||
* [VPS](https://v4-docs.chevereto.com/guides/server/vps) (DigitalOcean, Linode, Vultr, etc)
|
||||
* [cPanel](https://v4-docs.chevereto.com/guides/cpanel/)
|
||||
* [Plesk](https://v4-docs.chevereto.com/guides/plesk/)
|
||||
|
||||
Chevereto is also available at [DigitalOcean Marketplace](https://chevereto.com/go/digitalocean), [Vultr Marketplace](https://chevereto.com/go/vultr), [Installatron](https://installatron.com/chevereto), [Softaculous](https://www.softaculous.com/apps/galleries/Chevereto) and [SwiftWave](https://swiftwave.org/docs/dashboard/swiftwave_app_store/).
|
||||
|
||||
Review our [Installation docs](https://v4-docs.chevereto.com/application/installing/installation.html) for all alternatives.
|
||||
|
||||
## Updating
|
||||
|
||||
* Follow the [Updating guide](https://v4-docs.chevereto.com/application/installing/updating.html) to keep your Chevereto V4 system updated.
|
||||
|
||||
## Upgrading
|
||||
|
||||
For Chevereto V3 users:
|
||||
|
||||
* Follow the [Upgrading guide](https://v4-docs.chevereto.com/application/installing/upgrading.html) to upgrade to Chevereto V4.
|
||||
* Check the [Welcome Back](https://v4-docs.chevereto.com/introduction/changelog/welcome-back.html#from-chevereto-v3) reference.
|
||||
|
||||
For Chevereto V2 users:
|
||||
|
||||
* Follow the [Upgrading guide](https://v3-docs.chevereto.com/setup/server/upgrading.html) but skip directly to Chevereto V4.
|
||||
|
||||
## Documentation
|
||||
|
||||
We provide several layers of documentation covering all aspects of our software. Chevereto documentation is Open Source and your contribution is highly appreciated.
|
||||
Chevereto [Documentation](https://v4-docs.chevereto.com) covers the system requirements, installation, configuration, and usage of the software. It also includes a [User manual](https://v4-user.chevereto.com/) and an [Admin manual](https://v4-admin.chevereto.com/).
|
||||
|
||||
* Software [v4-docs.chevereto.com](https://v4-docs.chevereto.com)
|
||||
* Admin [v4-admin.chevereto.com](https://v4-admin.chevereto.com)
|
||||
* User [v4-user.chevereto.com](https://v4-user.chevereto.com)
|
||||
## Contributing
|
||||
|
||||
Chevereto is an open-source project, and while contributions are welcomed, they are entirely voluntary. We appreciate any assistance aimed at enhancing the software and making it better for the community. Please note that any contributions to this repository will fall under the AGPLv3 license, ensuring that your work remains open-source and accessible to all.
|
||||
|
||||
## License
|
||||
|
||||
|
@ -33,8 +77,16 @@ This program is free software: you can redistribute it and/or modify it under th
|
|||
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
You should have received a copy of the GNU Affero General Public License along with this program. If not, see [GNU Licenses](http://www.gnu.org/licenses/).
|
||||
|
||||
### Commercial license
|
||||
|
||||
The commercial license is designed to for you to use Chevereto in commercial products and applications, without the provisions of the AGPLv3. With the commercial license, your code is kept proprietary, to yourself. See the Chevereto Commercial License at [chevereto.com](https://chevereto.com/license)
|
||||
The commercial license allows you to use Chevereto in commercial products and applications without the obligations imposed by the AGPLv3. The commercial license ensures that your code remains proprietary and exclusive to you. For more details, please refer to the Chevereto Commercial License at [Chevereto License](https://chevereto.com/license).
|
||||
|
||||
### Compare licenses
|
||||
|
||||
The Chevereto Free edition is licensed under AGPLv3, allowing free use as long as you comply with its terms. If you modify and distribute the software, you are required to provide the source code to your users.
|
||||
|
||||
Both **Chevereto Lite** and **Chevereto Pro** are distributed under the proprietary **Chevereto License**, which permits use for commercial purposes.
|
||||
|
||||
*Note: Proprietary licensing does not mean closed source; the source code is accessible, but its use is governed by the specific terms of the Chevereto License.*
|
||||
|
|
|
@ -13,6 +13,20 @@
|
|||
'base' => 'bg',
|
||||
'short_name' => 'BG (BG)',
|
||||
],
|
||||
'bs-BA' => [
|
||||
'code' => 'bs-BA',
|
||||
'dir' => 'ltr',
|
||||
'name' => 'Bosanski',
|
||||
'base' => 'bs',
|
||||
'short_name' => 'BS (BA)',
|
||||
],
|
||||
'ca' => [
|
||||
'code' => 'ca',
|
||||
'dir' => 'ltr',
|
||||
'name' => 'Сatalà',
|
||||
'base' => 'ca',
|
||||
'short_name' => 'CA',
|
||||
],
|
||||
'cs' => [
|
||||
'code' => 'cs',
|
||||
'dir' => 'ltr',
|
||||
|
@ -34,6 +48,13 @@
|
|||
'base' => 'de',
|
||||
'short_name' => 'DE',
|
||||
],
|
||||
'de-DE' => [
|
||||
'code' => 'de-DE',
|
||||
'dir' => 'ltr',
|
||||
'name' => 'Deutsch (Deutschland)',
|
||||
'base' => 'de',
|
||||
'short_name' => 'DE (DE)',
|
||||
],
|
||||
'el' => [
|
||||
'code' => 'el',
|
||||
'dir' => 'ltr',
|
||||
|
@ -174,6 +195,13 @@
|
|||
'base' => 'pt',
|
||||
'short_name' => 'PT (BR)',
|
||||
],
|
||||
'ro' => [
|
||||
'code' => 'ro',
|
||||
'dir' => 'ltr',
|
||||
'name' => 'Română',
|
||||
'base' => 'ro',
|
||||
'short_name' => 'RO',
|
||||
],
|
||||
'ru' => [
|
||||
'code' => 'ru',
|
||||
'dir' => 'ltr',
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
749
app/.cache/languages/bs-BA.po.cache.php
Normal file
749
app/.cache/languages/bs-BA.po.cache.php
Normal file
|
@ -0,0 +1,749 @@
|
|||
<?php
|
||||
$translation_header = array (
|
||||
'Project-Id-Version' => 'VERSION',
|
||||
'POT-Creation-Date' => '2023-05-22 15:49+0000',
|
||||
'PO-Revision-Date' => '2023-05-22 15:49+0000',
|
||||
'Last-Translator' => 'FULL NAME <EMAIL@ADDRESS>',
|
||||
'Language-Team' => 'LANGUAGE TEAM <EMAIL@ADDRESS>',
|
||||
'Language' => 'bs_BA',
|
||||
'MIME-Version' => '1.0',
|
||||
'Content-Type' => 'text/plain; charset=UTF-8',
|
||||
'Content-Transfer-Encoding' => '8bit',
|
||||
'Plural-Forms' => 'nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);',
|
||||
);
|
||||
$translation_plural = array (
|
||||
'nplurals' => 3,
|
||||
'function' => '($n%10==1 && $n%100!=11 ? (0) : ($n%10>=2 && $n%10<=4 && ($n%100<10 || $n%100>=20) ? (1) : (2)))',
|
||||
);
|
||||
$translation_table = [
|
||||
"Request denied" => [
|
||||
0 => "Zahtjev odbijen",
|
||||
],
|
||||
"That page doesn't exist" => [
|
||||
0 => "Ova stranica ne postoji",
|
||||
],
|
||||
"Reset password" => [
|
||||
0 => "Promjeni lozinku",
|
||||
],
|
||||
"Resend account activation" => [
|
||||
0 => "Pošalji aktivaciju za korisnički račun ponovno",
|
||||
],
|
||||
"Add your email address" => [
|
||||
0 => "Dodaj E-mail adresu",
|
||||
],
|
||||
"Awaiting confirmation" => [
|
||||
0 => "Očekujem potvrdu",
|
||||
],
|
||||
"Email changed" => [
|
||||
0 => "E-mail adresa je promijenjena",
|
||||
],
|
||||
"Invalid Username/Email" => [
|
||||
0 => "Pogrešno ste upisali korisničko ime ili e-mail adresu",
|
||||
],
|
||||
"Account needs to be activated to use this feature" => [
|
||||
0 => "Profil treba da bude aktiviran za ove pogodnosti",
|
||||
],
|
||||
"Account already activated" => [
|
||||
0 => "Profil već aktiviran",
|
||||
],
|
||||
"Allow up to 15 minutes for the email. You can try again later." => [
|
||||
0 => "Dozvolite do 15 minuta za email. Možete pokušati ponovo kasnije",
|
||||
],
|
||||
"Reset your password at %s" => [
|
||||
0 => "Resetirajte svoju šifru na %s",
|
||||
],
|
||||
"Confirmation required at %s" => [
|
||||
0 => "Potrebna potvrda na %s",
|
||||
],
|
||||
"Welcome to %s" => [
|
||||
0 => "Dobrodošli na %s",
|
||||
],
|
||||
"Invalid password" => [
|
||||
0 => "Netačna šifra",
|
||||
],
|
||||
"Passwords don't match" => [
|
||||
0 => "Šifre se ne podudaraju",
|
||||
],
|
||||
"Invalid email" => [
|
||||
0 => "Netačan email",
|
||||
],
|
||||
"Email already being used" => [
|
||||
0 => "Email se već koristi",
|
||||
],
|
||||
"Check the errors in the form to continue." => [
|
||||
0 => "Provjerite greške u formi da nastavite",
|
||||
],
|
||||
"Embed codes" => [
|
||||
0 => "Zalijepiti kodove",
|
||||
],
|
||||
"Stats" => [
|
||||
0 => "Statistika",
|
||||
],
|
||||
"Settings" => [
|
||||
0 => "Postavke",
|
||||
],
|
||||
"Website" => [
|
||||
0 => "Web stranica",
|
||||
],
|
||||
"Image upload" => [
|
||||
0 => "Postavljanje slike",
|
||||
],
|
||||
"Theme" => [
|
||||
0 => "Tema",
|
||||
],
|
||||
"System" => [
|
||||
0 => "Sistem",
|
||||
],
|
||||
"External services" => [
|
||||
0 => "Eksterne usluge",
|
||||
],
|
||||
"Flood protection" => [
|
||||
0 => "Flood protekcija",
|
||||
],
|
||||
"Community" => [
|
||||
0 => "Zajednica",
|
||||
],
|
||||
"PHP version" => [
|
||||
0 => "PHP verzija",
|
||||
],
|
||||
"MySQL version" => [
|
||||
0 => "MySQL verzija",
|
||||
],
|
||||
"File uploads" => [
|
||||
0 => "Fajl postavljanja",
|
||||
],
|
||||
"Enabled" => [
|
||||
0 => "Dozvoljeno",
|
||||
],
|
||||
"Disabled" => [
|
||||
0 => "Onesposobljeno",
|
||||
],
|
||||
"Max. execution time" => [
|
||||
0 => "Max. vrijeme izvršenja",
|
||||
],
|
||||
"Memory limit" => [
|
||||
0 => "Limit memorije",
|
||||
],
|
||||
"search content" => [
|
||||
0 => "Petražite sastav",
|
||||
],
|
||||
"Explore" => [
|
||||
0 => "Istraži",
|
||||
],
|
||||
"Invalid website name" => [
|
||||
0 => "Netačno ime web stranice",
|
||||
],
|
||||
"Invalid language" => [
|
||||
0 => "Netačan jezik",
|
||||
],
|
||||
"Invalid timezone" => [
|
||||
0 => "Netačna vremenska zona",
|
||||
],
|
||||
"Invalid upload storage mode" => [
|
||||
0 => "Netačan način postavljanja skladišta",
|
||||
],
|
||||
"Invalid upload filenaming" => [
|
||||
0 => "Netačno postavljanje file imena",
|
||||
],
|
||||
"Invalid thumb width" => [
|
||||
0 => "Netačna thumb širina",
|
||||
],
|
||||
"Invalid thumb height" => [
|
||||
0 => "Pogrešna visina sličice",
|
||||
],
|
||||
"Invalid theme" => [
|
||||
0 => "Pogrešna tema",
|
||||
],
|
||||
"Invalid value" => [
|
||||
0 => "Netačna količina",
|
||||
],
|
||||
"Invalid email mode" => [
|
||||
0 => "Nevažeći način e-maila",
|
||||
],
|
||||
"Invalid SMTP port" => [
|
||||
0 => "Pogrešan SMTP port",
|
||||
],
|
||||
"Invalid upload image path" => [
|
||||
0 => "Pogrešna putanja slike za postavljanje",
|
||||
],
|
||||
"Max. allowed %s" => [
|
||||
0 => "Maksimalno dopušteno %s",
|
||||
],
|
||||
"Invalid SMTP server" => [
|
||||
0 => "Pogrešan SMTP server",
|
||||
],
|
||||
"Invalid SMTP username" => [
|
||||
0 => "Pogrešno SMTP korisničko ime",
|
||||
],
|
||||
"Dashboard" => [
|
||||
0 => "Kontrolna ploča",
|
||||
],
|
||||
"About" => [
|
||||
0 => "U vezi",
|
||||
],
|
||||
"Image ID" => [
|
||||
0 => "ID slike",
|
||||
],
|
||||
"Upload date" => [
|
||||
0 => "Datum postavljanja",
|
||||
],
|
||||
"Direct links" => [
|
||||
0 => "Direktni linkovi",
|
||||
],
|
||||
"Image link" => [
|
||||
0 => "Link slike",
|
||||
],
|
||||
"Image URL" => [
|
||||
0 => "URL slike",
|
||||
],
|
||||
"Thumbnail URL" => [
|
||||
0 => "URL sličice",
|
||||
],
|
||||
"Medium URL" => [
|
||||
0 => "Srednji URL",
|
||||
],
|
||||
"Login needed" => [
|
||||
0 => "Prijava potrebna",
|
||||
],
|
||||
"Invalid username" => [
|
||||
0 => "Netačno korisničko ime",
|
||||
],
|
||||
"Wrong Username/Email password combination" => [
|
||||
0 => "Pogrešan korisnički naziv, e-mail adresa ili kombinacija lozinke",
|
||||
],
|
||||
"Sign in" => [
|
||||
0 => "Prijava",
|
||||
],
|
||||
"Search" => [
|
||||
0 => "Pretraži",
|
||||
],
|
||||
"Account" => [
|
||||
0 => "Korisnički račun",
|
||||
],
|
||||
"Profile" => [
|
||||
0 => "Profil",
|
||||
],
|
||||
"Password" => [
|
||||
0 => "Lozinka",
|
||||
],
|
||||
"An email has been sent to %s with instructions to activate this email" => [
|
||||
0 => "Poslali smo e-mail korisniku %s sa instrukcijama kako aktivirati korisnički račun",
|
||||
],
|
||||
"Invalid name" => [
|
||||
0 => "Pogrešan naziv",
|
||||
],
|
||||
"Invalid website" => [
|
||||
0 => "Pogrešna web stranica",
|
||||
],
|
||||
"Wrong password" => [
|
||||
0 => "Pogrešna lozinka",
|
||||
],
|
||||
"Use a new password" => [
|
||||
0 => "Koristi novu lozinku",
|
||||
],
|
||||
"Password has been changed" => [
|
||||
0 => "Lozinka je uspiješno promijenjena",
|
||||
],
|
||||
"Wrong Username/Email values" => [
|
||||
0 => "Pogrešno korisničko ime ili e-mail",
|
||||
],
|
||||
"Settings for %s" => [
|
||||
0 => "Postavke za %s",
|
||||
],
|
||||
"Username" => [
|
||||
0 => "Korisnički naziv",
|
||||
],
|
||||
"Delete user" => [
|
||||
0 => "Izbrišite korisnika",
|
||||
],
|
||||
"User ID" => [
|
||||
0 => "ID korisnika",
|
||||
],
|
||||
"Register date" => [
|
||||
0 => "Datum registriranja",
|
||||
],
|
||||
"Create account" => [
|
||||
0 => "Napravi korisnički račun",
|
||||
],
|
||||
"Upload" => [
|
||||
0 => "Upload.",
|
||||
],
|
||||
"Albums" => [
|
||||
0 => "Albumi",
|
||||
],
|
||||
"Note: This content is private. Change privacy to \"public\" to share." => [
|
||||
0 => "Napomena: Ovaj sadržaj je privatan, promijeni privatnost albuma na javno ukoliko želiš da ostali korisnici mogu vidjeti ovaj sadržaj.",
|
||||
],
|
||||
"Public" => [
|
||||
0 => "Javno",
|
||||
],
|
||||
"Private upload" => [
|
||||
0 => "Privatno postavljanje",
|
||||
],
|
||||
"Most recent" => [
|
||||
0 => "Najnovije",
|
||||
],
|
||||
"Oldest" => [
|
||||
0 => "Najstarije",
|
||||
],
|
||||
"Most viewed" => [
|
||||
0 => "Najviše pregledano",
|
||||
],
|
||||
"Share" => [
|
||||
0 => "Podijeli",
|
||||
],
|
||||
"%s ago" => [
|
||||
0 => "%s prije",
|
||||
],
|
||||
"moments ago" => [
|
||||
0 => "trenutaka prije",
|
||||
],
|
||||
"Random" => [
|
||||
0 => "Slučajno",
|
||||
],
|
||||
"loading" => [
|
||||
0 => "učitavanje",
|
||||
],
|
||||
"My Profile" => [
|
||||
0 => "Moj profil",
|
||||
],
|
||||
"Sign out" => [
|
||||
0 => "Izlogirajte se",
|
||||
],
|
||||
"You must enter the album name." => [
|
||||
0 => "Ime albuma morate unijeti ovdje",
|
||||
],
|
||||
"Confirm" => [
|
||||
0 => "Potvrdi",
|
||||
],
|
||||
"An error occurred. Please try again later." => [
|
||||
0 => "Došlo je do greške. Molim vas pokušajte kasnije",
|
||||
],
|
||||
"Please select a valid image file type." => [
|
||||
0 => "Selektirajte važeći tip fajl slike",
|
||||
],
|
||||
"Please select a picture of at most %s size." => [
|
||||
0 => "Selektirajte sliku na najvećoj %s veličini",
|
||||
],
|
||||
"Profile image updated." => [
|
||||
0 => "Slika profila ažurirana ",
|
||||
],
|
||||
"Create album" => [
|
||||
0 => "Kreirajte album",
|
||||
],
|
||||
"Edit" => [
|
||||
0 => "Izmjenite",
|
||||
],
|
||||
"Delete" => [
|
||||
0 => "Izbrišite",
|
||||
],
|
||||
"%s's Albums" => [
|
||||
0 => "%s albumi",
|
||||
],
|
||||
"private" => [
|
||||
0 => "Privatno",
|
||||
],
|
||||
"Select" => [
|
||||
0 => "Odaberi",
|
||||
],
|
||||
"Unselect" => [
|
||||
0 => "Poništi",
|
||||
],
|
||||
"All the changes that you have made will be lost if you continue." => [
|
||||
0 => "Sve promjene koje ste upisali će biti izgubljene ukoliko nastavite.",
|
||||
],
|
||||
"Save changes" => [
|
||||
0 => "Spremi promjene",
|
||||
],
|
||||
"Submit" => [
|
||||
0 => "Potvrdi",
|
||||
],
|
||||
"Changes saved successfully." => [
|
||||
0 => "Promjene uspješno sačuvane",
|
||||
],
|
||||
"Go back to form" => [
|
||||
0 => "Vrati se nazad na formu",
|
||||
],
|
||||
"or" => [
|
||||
0 => "ili",
|
||||
],
|
||||
"continue anyway" => [
|
||||
0 => "svejedno nastavi",
|
||||
],
|
||||
"cancel" => [
|
||||
0 => "Poništi",
|
||||
],
|
||||
"Confirm action" => [
|
||||
0 => "Potvrdi akciju",
|
||||
],
|
||||
"Upload complete" => [
|
||||
0 => "Prijenos je završen",
|
||||
],
|
||||
"Uploading" => [
|
||||
0 => "Postavljanje",
|
||||
],
|
||||
"cancel remaining" => [
|
||||
0 => "otkaži preostale",
|
||||
],
|
||||
"learn more" => [
|
||||
0 => "saznaj više",
|
||||
],
|
||||
"Check the <a data-modal=\"simple\" data-target=\"failed-upload-result\">error report</a> for more information." => [
|
||||
0 => "Provjeri <a data-modal=\"simple\" data-target=\"failed-upload-result\">izvještaj grešaka</a> za više informacija.",
|
||||
],
|
||||
"optional" => [
|
||||
0 => "neobavezano",
|
||||
],
|
||||
"Add image URLs" => [
|
||||
0 => "Dodajte URL-ove slike",
|
||||
],
|
||||
"Add the image URLs here" => [
|
||||
0 => "Dodajte URL-ova slike ovdje",
|
||||
],
|
||||
"Error report" => [
|
||||
0 => "Prijavite grešku",
|
||||
],
|
||||
"Links" => [
|
||||
0 => "Linkovi",
|
||||
],
|
||||
"Direct" => [
|
||||
0 => "Direktno",
|
||||
],
|
||||
"HTML Codes" => [
|
||||
0 => "HTML kodovi",
|
||||
],
|
||||
"HTML medium linked" => [
|
||||
0 => "HTML djelimično povezan",
|
||||
],
|
||||
"HTML thumbnail linked" => [
|
||||
0 => "HTML thumbnail povezan",
|
||||
],
|
||||
"BBCodes" => [
|
||||
0 => "BBKodovi",
|
||||
],
|
||||
"BBCode thumbnail linked" => [
|
||||
0 => "BBKode thumbnail povezan",
|
||||
],
|
||||
"Viewer links" => [
|
||||
0 => "Linkovi gledalaca",
|
||||
],
|
||||
"Name" => [
|
||||
0 => "Naziv",
|
||||
],
|
||||
"Who can view this content" => [
|
||||
0 => "Ko može sve da gleda ovaj sadržaj",
|
||||
],
|
||||
"Private (just me)" => [
|
||||
0 => "Privatno (samo ja)",
|
||||
],
|
||||
"Message" => [
|
||||
0 => "Poruka",
|
||||
],
|
||||
"view more" => [
|
||||
0 => "Vidite više",
|
||||
],
|
||||
"Load more" => [
|
||||
0 => "Očitajte više",
|
||||
],
|
||||
"Select all" => [
|
||||
0 => "Selektujte sve",
|
||||
],
|
||||
"Clear selection" => [
|
||||
0 => "Jasan izbor",
|
||||
],
|
||||
"Sign in with another account" => [
|
||||
0 => "Prijavite se sa drugog profila.",
|
||||
],
|
||||
"There's nothing to show here." => [
|
||||
0 => "Ovdje se nema šta prikazati",
|
||||
],
|
||||
"Confirm deletion" => [
|
||||
0 => "Potvrdite brisanje ",
|
||||
],
|
||||
"Guest" => [
|
||||
0 => "Gost",
|
||||
],
|
||||
"You either don't have permission to access this page or the link has expired." => [
|
||||
0 => "Vi nemate dozvolu za pristup ovoj stranici ili veza je istekla.",
|
||||
],
|
||||
"Go to homepage" => [
|
||||
0 => "Idi na početnu",
|
||||
],
|
||||
"The requested page was not found." => [
|
||||
0 => "Tražena stranica nije pronađena.",
|
||||
],
|
||||
"The user has been deleted" => [
|
||||
0 => "Član je obrisan iz baze servisa",
|
||||
],
|
||||
"Your account is almost ready" => [
|
||||
0 => "Vaš korisnički račun je skoro spreman za korištenje",
|
||||
],
|
||||
"Resend activation" => [
|
||||
0 => "Pošalji aktivacijski e-mail ponovo",
|
||||
],
|
||||
"You have successfully changed your account email to %s" => [
|
||||
0 => "Uspješno ste promjenili email profila u %s.",
|
||||
],
|
||||
"Go to my profile" => [
|
||||
0 => "Idite na moj profil.",
|
||||
],
|
||||
"Your email address" => [
|
||||
0 => "Vaša E-mail adresa.",
|
||||
],
|
||||
"An email with instructions to reset your password has been sent to the registered email address. If you don't receive the instructions try checking your junk or spam filters." => [
|
||||
0 => "E-Mail sa instrukcijama kako promijenuti vašu lozinku je poslan na e-mail adresu sa kojom ste se registrovali. Ukoliko ne dobijete instrukcije, provjerite spam filtere ili folder junk/spam na vašem e-mail servisu.",
|
||||
],
|
||||
"Resend instructions" => [
|
||||
0 => "Pošalji upute ponovno",
|
||||
],
|
||||
"Username or Email address" => [
|
||||
0 => "Korisničko ime ili Email adresa.",
|
||||
],
|
||||
"Login now" => [
|
||||
0 => "Prijavite se sada",
|
||||
],
|
||||
"Enter your new password" => [
|
||||
0 => "Upiši novu lozinku",
|
||||
],
|
||||
"Re-enter your new password" => [
|
||||
0 => "Ponovno unesite novu lozinku",
|
||||
],
|
||||
"From name" => [
|
||||
0 => "Poslano od naziva",
|
||||
],
|
||||
"Sender name for emails sent to users." => [
|
||||
0 => "Ime pošiljatelja za e-mailove poslane članovima.",
|
||||
],
|
||||
"From email address" => [
|
||||
0 => "Sa email adrese",
|
||||
],
|
||||
"Sender email for emails sent to users." => [
|
||||
0 => "Email adresa pošiljatelja za e-mailove poslate članovima.",
|
||||
],
|
||||
"Incoming email address" => [
|
||||
0 => "Dolazeža E-Mail adresa",
|
||||
],
|
||||
"Recipient for contact form and system alerts." => [
|
||||
0 => "Primatelj za kontakt forme i sustav upozorenja.",
|
||||
],
|
||||
"Email mode" => [
|
||||
0 => "E-Mail mod",
|
||||
],
|
||||
"SMTP server and port" => [
|
||||
0 => "SMTP server i port",
|
||||
],
|
||||
"SMTP username" => [
|
||||
0 => "SMTP korisničko ime",
|
||||
],
|
||||
"SMTP password" => [
|
||||
0 => "SMTP lozinka",
|
||||
],
|
||||
"SMTP security" => [
|
||||
0 => "SMTP sigurnost",
|
||||
],
|
||||
"Unsecured" => [
|
||||
0 => "Nesigurno",
|
||||
],
|
||||
"Comment code" => [
|
||||
0 => "Kod komentara.",
|
||||
],
|
||||
"Disqus, Facebook or anything you want. It will be used in image view." => [
|
||||
0 => "Raspravite, Facebook ili šta želite. Bit će korišteno u pogledu slike.",
|
||||
],
|
||||
"Analytics code" => [
|
||||
0 => "Analitički kod.",
|
||||
],
|
||||
"Google Analytics or anything you want. It will be added to the theme footer." => [
|
||||
0 => "Google analistik ili bilo što šta želite. Bit će dodato u temu footera.",
|
||||
],
|
||||
"Disk used" => [
|
||||
0 => "Iskorišćeno memorije",
|
||||
],
|
||||
"Notify to email" => [
|
||||
0 => "Obavijesti na e-mail",
|
||||
],
|
||||
"Minute limit" => [
|
||||
0 => "Minute granica",
|
||||
],
|
||||
"Hourly limit" => [
|
||||
0 => "Satni limit",
|
||||
],
|
||||
"Daily limit" => [
|
||||
0 => "Dnevni limit",
|
||||
],
|
||||
"Weekly limit" => [
|
||||
0 => "Sedmični limit",
|
||||
],
|
||||
"Monthly limit" => [
|
||||
0 => "Mjesečni limit",
|
||||
],
|
||||
"Guest uploads" => [
|
||||
0 => "Postavljanje slika za goste",
|
||||
],
|
||||
"Enable this if you want to allow non registered users to upload." => [
|
||||
0 => "Omogućite ovo ako želite da gosti uploaduju slike.",
|
||||
],
|
||||
"Image path" => [
|
||||
0 => "Putanja slike na serveru",
|
||||
],
|
||||
"Relative to Chevereto root" => [
|
||||
0 => "Gdje želite sačuvati slike? Po zadanim postavkama ostavite putanju \"images\".",
|
||||
],
|
||||
"Storage mode" => [
|
||||
0 => "Način za pohranu",
|
||||
],
|
||||
"Datefolders" => [
|
||||
0 => "Vremenske mape",
|
||||
],
|
||||
"Datefolders creates %s structure" => [
|
||||
0 => "Vremenski nazivi foldera kreiraju strukturu %s",
|
||||
],
|
||||
"File naming method" => [
|
||||
0 => "Način imenovanja datoteka",
|
||||
],
|
||||
"Original" => [
|
||||
0 => "Originalno",
|
||||
],
|
||||
"Thumb size" => [
|
||||
0 => "Veličina ikone",
|
||||
],
|
||||
"Thumbnails will be fixed to this size." => [
|
||||
0 => "Veličina ikone će biti fiksna za ovu veličinu",
|
||||
],
|
||||
"Default language" => [
|
||||
0 => "Zadani jezik",
|
||||
],
|
||||
"Default base language to use." => [
|
||||
0 => "Ovaj jezik će biti prikazan svim posjetiocima kao zadani jezik.",
|
||||
],
|
||||
"Auto language" => [
|
||||
0 => "Automatski jezik",
|
||||
],
|
||||
"How many items should be displayed per page listing." => [
|
||||
0 => "Koliko sadržaja treba da bude prikazano po stranici",
|
||||
],
|
||||
"Crypt salt" => [
|
||||
0 => "Enkripcija",
|
||||
],
|
||||
"This is the salt used to convert numeric ID to alphanumeric. It was generated on install." => [
|
||||
0 => "Ovo se koristi da konvertuje numerički ID u alfanumerički. Generisan je pri instalaciji.",
|
||||
],
|
||||
"Website name" => [
|
||||
0 => "Naziv web stranice",
|
||||
],
|
||||
"Website doctitle" => [
|
||||
0 => "Podnaslov web stranice",
|
||||
],
|
||||
"Website description" => [
|
||||
0 => "Opis web stranice",
|
||||
],
|
||||
"Default time zone" => [
|
||||
0 => "Zadana vremenska zona",
|
||||
],
|
||||
"Select region" => [
|
||||
0 => "Izaberi regiju",
|
||||
],
|
||||
"Website mode" => [
|
||||
0 => "Način rada web stranice",
|
||||
],
|
||||
"You can switch the website mode anytime." => [
|
||||
0 => "Način rada web stranice možete prebacivati u bilo kom trenutku.",
|
||||
],
|
||||
"Role" => [
|
||||
0 => "Uloga",
|
||||
],
|
||||
"Email address" => [
|
||||
0 => "E-mail adresa.",
|
||||
],
|
||||
"Added to %s" => [
|
||||
0 => "Dodato do %s",
|
||||
],
|
||||
"Uploaded %s" => [
|
||||
0 => "Postaviti %s",
|
||||
],
|
||||
"Logged out" => [
|
||||
0 => "Odjavi se",
|
||||
],
|
||||
"You have been logged off %s. Hope to see you soon." => [
|
||||
0 => "Odjavljeni ste %s. Nadam se da ćemo uskoro ponovno vas vidjeti.",
|
||||
],
|
||||
"Valid" => [
|
||||
0 => "Vrijedi",
|
||||
],
|
||||
"Banned" => [
|
||||
0 => "Zabranjen/Banovan",
|
||||
],
|
||||
"Awaiting email" => [
|
||||
0 => "Očekujem e-mail",
|
||||
],
|
||||
"Language" => [
|
||||
0 => "Jezik",
|
||||
],
|
||||
"Timezone" => [
|
||||
0 => "Vremenska zona",
|
||||
],
|
||||
"User has no connections." => [
|
||||
0 => "Korisnik nema veze.",
|
||||
],
|
||||
"Do you really want to disconnect %s from this account?" => [
|
||||
0 => "Da li stvarno želite odspojiti %s s tog korisničkog računa?",
|
||||
],
|
||||
"This account is connected to %s" => [
|
||||
0 => "Ovaj korisnički račun je spojen na %s",
|
||||
],
|
||||
"Do you really want to disconnect your %s account?" => [
|
||||
0 => "Da li stvarno želite odspojiti vaš %s korisnički račun?",
|
||||
],
|
||||
"You will be logged out and you won't be able to login to your account using this %s account." => [
|
||||
0 => "Bit ćete odjavljeni i nećete moći se prijaviti na vaš korisnički račun korištenjem ovog %s računa.",
|
||||
],
|
||||
"Current password" => [
|
||||
0 => "Trenutna lozinka",
|
||||
],
|
||||
"Enter your current password" => [
|
||||
0 => "Unesite trenutnu lozinku",
|
||||
],
|
||||
"New password" => [
|
||||
0 => "Nova lozinka",
|
||||
],
|
||||
"Confirm new password" => [
|
||||
0 => "Potvrdi novu lozinku",
|
||||
],
|
||||
"This user doesn't have a password. Add one using this form." => [
|
||||
0 => "Ovaj korisnik nema lozinku. Dodajte ju pomoću ovog obrasca.",
|
||||
],
|
||||
"Enter your password" => [
|
||||
0 => "Upiši svoju lozinku",
|
||||
],
|
||||
"Confirm password" => [
|
||||
0 => "Potvrdi lozinku",
|
||||
],
|
||||
"Re-enter your password" => [
|
||||
0 => "Ponovno upišite svoju lozinku",
|
||||
],
|
||||
"This is your real name, not your username." => [
|
||||
0 => "To je vaše pravo ime, a ne vaše korisničko ime.",
|
||||
],
|
||||
"Upload profile background" => [
|
||||
0 => "Postavi pozadinu profila",
|
||||
],
|
||||
"Change background" => [
|
||||
0 => "Promjenite pozadinu",
|
||||
],
|
||||
"Upload new image" => [
|
||||
0 => "Postavite novu sliku",
|
||||
],
|
||||
"Delete background" => [
|
||||
0 => "Izbrišite pozadinu",
|
||||
],
|
||||
"DMCA complaint" => [
|
||||
0 => "DMCA žalba",
|
||||
],
|
||||
"Invalid message" => [
|
||||
0 => "Pogrešna poruka",
|
||||
],
|
||||
"Invalid subject" => [
|
||||
0 => "Pogrešan subjekt",
|
||||
],
|
||||
];
|
||||
?>
|
1309
app/.cache/languages/ca.po.cache.php
Normal file
1309
app/.cache/languages/ca.po.cache.php
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
3238
app/.cache/languages/de-DE.po.cache.php
Normal file
3238
app/.cache/languages/de-DE.po.cache.php
Normal file
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
3731
app/.cache/languages/en-US.po.cache.php
Normal file
3731
app/.cache/languages/en-US.po.cache.php
Normal file
File diff suppressed because it is too large
Load diff
|
@ -1,22 +1,23 @@
|
|||
<?php
|
||||
$translation_header = array (
|
||||
'Project-Id-Version' => 'Chevereto V3',
|
||||
'POT-Creation-Date' => '2021-07-05 14:26-0400',
|
||||
'PO-Revision-Date' => '2021-07-05 14:26-0400',
|
||||
'Project-Id-Version' => 'Chevereto V4',
|
||||
'POT-Creation-Date' => '2024-04-26 14:18-0400',
|
||||
'PO-Revision-Date' => '2024-04-26 14:18-0400',
|
||||
'Last-Translator' => 'Rodolfo Berríos <inbox@rodolfoberrios.com>',
|
||||
'Language-Team' => '',
|
||||
'Language-Team' => 'https://chevereto.com',
|
||||
'Language' => 'en_US',
|
||||
'MIME-Version' => '1.0',
|
||||
'Content-Type' => 'text/plain; charset=UTF-8',
|
||||
'Content-Transfer-Encoding' => '8bit',
|
||||
'X-Generator' => 'Poedit 3.0',
|
||||
'X-Poedit-Basepath' => '../../..',
|
||||
'Plural-Forms' => 'nplurals=2; plural=(n != 1);',
|
||||
'X-Generator' => 'Poedit 3.4.2',
|
||||
'X-Poedit-Basepath' => '../..',
|
||||
'X-Poedit-KeywordsList' => '_s;_se;_n:1,2;_ne:1,2;PF.fn._s;PF.fn._n:1,2',
|
||||
'X-Poedit-SourceCharset' => 'UTF-8',
|
||||
'X-Poedit-SearchPath-0' => '.',
|
||||
'X-Poedit-SearchPathExcluded-0' => 'app/vendor',
|
||||
'X-Poedit-SearchPathExcluded-1' => 'app/content/languages/cache',
|
||||
'X-Poedit-SearchPathExcluded-0' => 'app/tests',
|
||||
'X-Poedit-SearchPathExcluded-1' => 'app/vendor',
|
||||
'X-Poedit-SearchPathExcluded-2' => 'app/.cache',
|
||||
);
|
||||
$translation_plural = array (
|
||||
'nplurals' => 2,
|
||||
|
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
38
app/.cache/languages/ro.po.cache.php
Normal file
38
app/.cache/languages/ro.po.cache.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
$translation_header = array (
|
||||
'Project-Id-Version' => 'VERSION',
|
||||
'POT-Creation-Date' => '2023-05-22 15:49+0000',
|
||||
'PO-Revision-Date' => '2023-05-22 15:49+0000',
|
||||
'Last-Translator' => 'FULL NAME <EMAIL@ADDRESS>',
|
||||
'Language-Team' => 'LANGUAGE TEAM <EMAIL@ADDRESS>',
|
||||
'Language' => 'ro',
|
||||
'MIME-Version' => '1.0',
|
||||
'Content-Type' => 'text/plain; charset=UTF-8',
|
||||
'Content-Transfer-Encoding' => '8bit',
|
||||
'Plural-Forms' => 'nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);',
|
||||
);
|
||||
$translation_plural = array (
|
||||
'nplurals' => 3,
|
||||
'function' => '($n==1 ? (0) : (($n==0 || ($n%100 > 0 && $n%100 < 20)) ? (1) : (2)))',
|
||||
);
|
||||
$translation_table = [
|
||||
"Invalid password" => [
|
||||
0 => "Parola greșită",
|
||||
],
|
||||
"Invalid email" => [
|
||||
0 => "E-mail greșit",
|
||||
],
|
||||
"Invalid username" => [
|
||||
0 => "User greșit",
|
||||
],
|
||||
"Private profile" => [
|
||||
0 => "Profil privat",
|
||||
],
|
||||
"From email address" => [
|
||||
0 => "De la adresa de email",
|
||||
],
|
||||
"Sender email for emails sent to users." => [
|
||||
0 => "Trimite email către toţi userii",
|
||||
],
|
||||
];
|
||||
?>
|
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -9,6 +9,7 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevereto\Legacy\getCheveretoEnv;
|
||||
use function Chevereto\Legacy\loaderHandler;
|
||||
|
||||
define('ACCESS', 'web');
|
||||
|
@ -16,7 +17,7 @@ define('REPL', true);
|
|||
require __DIR__ . '/legacy/load/loader.php';
|
||||
include loaderHandler(
|
||||
_cookie: [],
|
||||
_env: $_ENV,
|
||||
_env: getCheveretoEnv(),
|
||||
_files: [],
|
||||
_get: [],
|
||||
_post: [],
|
||||
|
@ -28,8 +29,7 @@ include loaderHandler(
|
|||
);
|
||||
|
||||
return [
|
||||
'startupMessage' =>
|
||||
<<<EOM
|
||||
'startupMessage' => <<<EOM
|
||||
__ __
|
||||
____/ / ___ _ _____ _______ / /____
|
||||
/ __/ _ \/ -_) |/ / -_) __/ -_) __/ _ \\
|
||||
|
|
|
@ -16,35 +16,40 @@
|
|||
"composer/package-versions-deprecated": true
|
||||
},
|
||||
"platform": {
|
||||
"php": "8.0.26"
|
||||
"php": "8.1.28"
|
||||
}
|
||||
},
|
||||
"require": {
|
||||
"php": "^8.0",
|
||||
"php": "^8.1",
|
||||
"intervention/image": "^2.6",
|
||||
"jeroendesloovere/xmp-metadata-extractor": "^2.0",
|
||||
"league/flysystem": "^2.0",
|
||||
"jenssegers/imagehash": "^0.5.0",
|
||||
"guzzlehttp/psr7": "^1.7",
|
||||
"guzzlehttp/psr7": "^1.7||^2",
|
||||
"phpmailer/phpmailer": "^6.5",
|
||||
"psr/cache": "^1",
|
||||
"psr/log": "^1",
|
||||
"phpseclib/phpseclib": "^3.0",
|
||||
"phpseclib/phpseclib": "^3.0.37",
|
||||
"mobiledetect/mobiledetectlib": "^2.8",
|
||||
"mlocati/ip-lib": "^1.17",
|
||||
"composer/ca-bundle": "^1.2",
|
||||
"chevere/chevere": "^2.0",
|
||||
"chevere/throwable-handler": "^0.9",
|
||||
"chevere/xr": "^0.7",
|
||||
"chevere/xr-server": "^0.7",
|
||||
"chevere/workflow": "^0.7.0",
|
||||
"chevere/throwable-handler": "^1.0.2",
|
||||
"xrdebug/php": "^2.0.2",
|
||||
"xrdebug/xrdebug": "^2.0.2",
|
||||
"chevere/workflow": "^0.9.0",
|
||||
"pragmarx/google2fa": "^8.0",
|
||||
"pragmarx/google2fa-qrcode": "^3.0",
|
||||
"chevere/cache": "^0.4",
|
||||
"phpseclib/bcmath_compat": "^2.0",
|
||||
"chillerlan/php-qrcode": "^4.3",
|
||||
"firebase/php-jwt": "^6.3",
|
||||
"lychee-org/php-exif": "^0.7.14",
|
||||
"php-ds/php-ds": "^1.4"
|
||||
"p3k/emoji-detector": "^1.0",
|
||||
"php-ds/php-ds": "^1.4",
|
||||
"php-ffmpeg/php-ffmpeg": "^1.2",
|
||||
"psy/psysh": "^0.11.8",
|
||||
"chevere/cache": "^0.5.0",
|
||||
"chevere/var-dump": "^2.0.x-dev",
|
||||
"chevere/var-support": "^1.0"
|
||||
},
|
||||
"autoload": {
|
||||
"files": [
|
||||
|
@ -69,10 +74,8 @@
|
|||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^9.2",
|
||||
"symplify/easy-coding-standard": "^10.3",
|
||||
"phpstan/phpstan": "^1.4",
|
||||
"rector/rector": "^0.12.15",
|
||||
"psy/psysh": "^0.11.8"
|
||||
"symplify/easy-coding-standard": "^12.2",
|
||||
"phpstan/phpstan": "^1.11"
|
||||
},
|
||||
"prefer-stable": true,
|
||||
"scripts": {
|
||||
|
|
4265
app/composer.lock
generated
4265
app/composer.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -9,7 +9,6 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Chevereto\Config\AssetConfig;
|
||||
use Chevereto\Config\Config;
|
||||
use Chevereto\Config\EnabledConfig;
|
||||
use Chevereto\Config\HostConfig;
|
||||
|
@ -18,19 +17,6 @@ use Chevereto\Config\SystemConfig;
|
|||
use function Chevereto\Vars\env;
|
||||
|
||||
new Config(
|
||||
asset: new AssetConfig(
|
||||
accountId: env()['CHEVERETO_ASSET_STORAGE_ACCOUNT_ID'],
|
||||
accountName: env()['CHEVERETO_ASSET_STORAGE_ACCOUNT_NAME'],
|
||||
bucket: env()['CHEVERETO_ASSET_STORAGE_BUCKET'],
|
||||
key: env()['CHEVERETO_ASSET_STORAGE_KEY'],
|
||||
name: env()['CHEVERETO_ASSET_STORAGE_NAME'],
|
||||
region: env()['CHEVERETO_ASSET_STORAGE_REGION'],
|
||||
secret: env()['CHEVERETO_ASSET_STORAGE_SECRET'],
|
||||
server: env()['CHEVERETO_ASSET_STORAGE_SERVER'],
|
||||
service: env()['CHEVERETO_ASSET_STORAGE_SERVICE'],
|
||||
type: env()['CHEVERETO_ASSET_STORAGE_TYPE'],
|
||||
url: env()['CHEVERETO_ASSET_STORAGE_URL'],
|
||||
),
|
||||
enabled: new EnabledConfig(
|
||||
phpPages: (bool) env()['CHEVERETO_ENABLE_PHP_PAGES'],
|
||||
updateCli: (bool) env()['CHEVERETO_ENABLE_UPDATE_CLI'],
|
||||
|
|
|
@ -10,81 +10,97 @@
|
|||
*/
|
||||
|
||||
return [
|
||||
'CHEVERETO_ASSET_STORAGE_ACCOUNT_ID' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_ACCOUNT_NAME' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_BUCKET' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_KEY' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_NAME' => 'assets',
|
||||
'CHEVERETO_ASSET_STORAGE_REGION' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_SECRET' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_SERVER' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_SERVICE' => '',
|
||||
'CHEVERETO_ASSET_STORAGE_TYPE' => 'local',
|
||||
'CHEVERETO_ASSET_STORAGE_URL' => '',
|
||||
'CHEVERETO_CONTEXT' => '',
|
||||
'CHEVERETO_DB_DRIVER' => 'mysql',
|
||||
'CHEVERETO_DB_HOST' => 'localhost',
|
||||
'CHEVERETO_DB_NAME' => '',
|
||||
'CHEVERETO_DB_PASS' => '',
|
||||
'CHEVERETO_DB_PDO_ATTRS' => '[]',
|
||||
'CHEVERETO_DB_PORT' => '3306',
|
||||
'CHEVERETO_DB_TABLE_PREFIX' => 'chv_',
|
||||
'CHEVERETO_DB_USER' => '',
|
||||
'CHEVERETO_DEBUG_LEVEL' => '1',
|
||||
'CHEVERETO_ENABLE_API_GUEST' => '1',
|
||||
'CHEVERETO_ENABLE_BANNERS' => '1',
|
||||
'CHEVERETO_ENABLE_BULK_IMPORTER' => '1',
|
||||
'CHEVERETO_ENABLE_CAPTCHA' => '1',
|
||||
'CHEVERETO_ENABLE_CDN' => '1',
|
||||
'CHEVERETO_ENABLE_CHECK_UPDATES' => '1',
|
||||
'CHEVERETO_ENABLE_CONSENT_SCREEN' => '1',
|
||||
'CHEVERETO_ENABLE_COOKIE_COMPLIANCE' => '1',
|
||||
'CHEVERETO_ENABLE_EXPOSE_PAID_FEATURES' => '1',
|
||||
'CHEVERETO_ENABLE_EXTERNAL_SERVICES' => '1',
|
||||
'CHEVERETO_ENABLE_EXTERNAL_STORAGE' => '1',
|
||||
'CHEVERETO_ENABLE_FAVICON' => '1',
|
||||
'CHEVERETO_ENABLE_FOLLOWERS' => '1',
|
||||
'CHEVERETO_ENABLE_HTACCESS_CHECK' => '0',
|
||||
'CHEVERETO_ENABLE_IP_BANS' => '1',
|
||||
'CHEVERETO_ENABLE_LANGUAGE_CHOOSER' => '1',
|
||||
'CHEVERETO_ENABLE_LIKES' => '1',
|
||||
'CHEVERETO_ENABLE_LOCAL_STORAGE' => '1',
|
||||
'CHEVERETO_ENABLE_LOGIN_PROVIDERS' => '1',
|
||||
'CHEVERETO_ENABLE_LOGO' => '1',
|
||||
'CHEVERETO_ENABLE_MODERATION' => '1',
|
||||
'CHEVERETO_ENABLE_NOTIFICATIONS' => '1',
|
||||
'CHEVERETO_ENABLE_PAGES' => '1',
|
||||
'CHEVERETO_ENABLE_PHP_PAGES' => '0',
|
||||
'CHEVERETO_ENABLE_POWERED_BY_FOOTER_SITE_WIDE' => '0',
|
||||
'CHEVERETO_ENABLE_ROUTING' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_AKISMET' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_MODERATECONTENT' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_PROJECTARACHNID' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_STOPFORUMSPAM' => '1',
|
||||
'CHEVERETO_ENABLE_STOPWORDS' => '1',
|
||||
'CHEVERETO_ENABLE_UPDATE_CLI' => '1',
|
||||
'CHEVERETO_ENABLE_UPDATE_HTTP' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_FLOOD_PROTECTION' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_PLUGIN' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_WATERMARK' => '1',
|
||||
'CHEVERETO_ENABLE_USERS' => '1',
|
||||
'CHEVERETO_ENCRYPTION_KEY' => '',
|
||||
'CHEVERETO_ERROR_LOG' => 'php://stderr',
|
||||
'CHEVERETO_HEADER_CLIENT_IP' => '',
|
||||
'CHEVERETO_HOSTNAME_PATH' => '/',
|
||||
'CHEVERETO_HOSTNAME' => 'localhost',
|
||||
'CHEVERETO_HTTPS' => '1',
|
||||
'CHEVERETO_IMAGE_FORMATS_AVAILABLE' => '["JPEG","PNG","BMP","GIF","WEBP"]',
|
||||
'CHEVERETO_IMAGE_LIBRARY' => 'imagick',
|
||||
'CHEVERETO_MAX_ALBUMS' => '0',
|
||||
'CHEVERETO_MAX_EXECUTION_TIME_SECONDS' => '30',
|
||||
'CHEVERETO_MAX_IMAGES' => '0',
|
||||
'CHEVERETO_MAX_MEMORY_SIZE' => '512M',
|
||||
'CHEVERETO_MAX_POST_SIZE' => '64M',
|
||||
'CHEVERETO_MAX_UPLOAD_SIZE' => '64M',
|
||||
'CHEVERETO_MAX_USER_ALBUMS_LIST' => '300',
|
||||
'CHEVERETO_MAX_USERS' => '0',
|
||||
'CHEVERETO_SERVICING' => 'server',
|
||||
'CHEVERETO_SESSION_SAVE_HANDLER' => 'files',
|
||||
'CHEVERETO_SESSION_SAVE_PATH' => '/tmp',
|
||||
'CHEVERETO_BINARY_FFMPEG' => 'ffmpeg',
|
||||
'CHEVERETO_BINARY_FFPROBE' => 'ffprobe',
|
||||
'CHEVERETO_CONTEXT' => '',
|
||||
'CHEVERETO_DB_DRIVER' => 'mysql',
|
||||
'CHEVERETO_DB_HOST' => 'localhost',
|
||||
'CHEVERETO_DB_NAME' => '',
|
||||
'CHEVERETO_DB_PASS' => '',
|
||||
'CHEVERETO_DB_PDO_ATTRS' => '[]',
|
||||
'CHEVERETO_DB_PORT' => '3306',
|
||||
'CHEVERETO_DB_TABLE_PREFIX' => 'chv_',
|
||||
'CHEVERETO_DB_USER' => '',
|
||||
'CHEVERETO_DEBUG_LEVEL' => '1',
|
||||
'CHEVERETO_EDITION' => 'pro',
|
||||
'CHEVERETO_ENABLE_API_GUEST' => '1',
|
||||
'CHEVERETO_ENABLE_BANNERS' => '1',
|
||||
'CHEVERETO_ENABLE_BULK_IMPORTER' => '1',
|
||||
'CHEVERETO_ENABLE_CAPTCHA' => '1',
|
||||
'CHEVERETO_ENABLE_CDN' => '1',
|
||||
'CHEVERETO_ENABLE_CONSENT_SCREEN' => '1',
|
||||
'CHEVERETO_ENABLE_COOKIE_COMPLIANCE' => '1',
|
||||
'CHEVERETO_ENABLE_DEBUG' => '1',
|
||||
'CHEVERETO_ENABLE_EXPOSE_PAID_FEATURES' => '1',
|
||||
'CHEVERETO_ENABLE_EXTERNAL_SERVICES' => '1',
|
||||
'CHEVERETO_ENABLE_EXTERNAL_STORAGE_PROVIDERS' => '1',
|
||||
'CHEVERETO_ENABLE_FAVICON' => '1',
|
||||
'CHEVERETO_ENABLE_FOLLOWERS' => '1',
|
||||
'CHEVERETO_ENABLE_FORCE_POWERED_BY_FOOTER' => '0',
|
||||
'CHEVERETO_ENABLE_HTACCESS_CHECK' => '0',
|
||||
'CHEVERETO_ENABLE_IP_BANS' => '1',
|
||||
'CHEVERETO_ENABLE_LANGUAGE_CHOOSER' => '1',
|
||||
'CHEVERETO_ENABLE_LIKES' => '1',
|
||||
'CHEVERETO_ENABLE_LOCAL_STORAGE' => '1',
|
||||
'CHEVERETO_ENABLE_LOGIN_PROVIDERS' => '1',
|
||||
'CHEVERETO_ENABLE_LOGO_CUSTOM' => '1',
|
||||
'CHEVERETO_ENABLE_MODERATION' => '1',
|
||||
'CHEVERETO_ENABLE_NEWS_CHECK' => '1',
|
||||
'CHEVERETO_ENABLE_NOTIFICATIONS' => '1',
|
||||
'CHEVERETO_ENABLE_PAGES' => '1',
|
||||
'CHEVERETO_ENABLE_PHP_PAGES' => '0',
|
||||
'CHEVERETO_ENABLE_POWERED_BY_SETTING' => '1',
|
||||
'CHEVERETO_ENABLE_PUP_CUSTOM_URL' => '1',
|
||||
'CHEVERETO_ENABLE_ROUTING' => '1',
|
||||
'CHEVERETO_ENABLE_SEO_ALBUM_URL' => '1',
|
||||
'CHEVERETO_ENABLE_SEO_IMAGE_URL' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_AKISMET' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_MODERATECONTENT' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_PROJECTARACHNID' => '1',
|
||||
'CHEVERETO_ENABLE_SERVICE_STOPFORUMSPAM' => '1',
|
||||
'CHEVERETO_ENABLE_STOPWORDS' => '1',
|
||||
'CHEVERETO_ENABLE_UPDATE_CHECK' => '1',
|
||||
'CHEVERETO_ENABLE_UPDATE_CLI' => '1',
|
||||
'CHEVERETO_ENABLE_UPDATE_HTTP' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_FLOOD_PROTECTION' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_PLUGIN' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_URL' => '1',
|
||||
'CHEVERETO_ENABLE_UPLOAD_WATERMARK' => '1',
|
||||
'CHEVERETO_ENABLE_USERS' => '1',
|
||||
'CHEVERETO_ENABLE_XRDEBUG' => '0',
|
||||
'CHEVERETO_ENCRYPTION_KEY' => '',
|
||||
'CHEVERETO_ERROR_LOG_CLI' => '',
|
||||
'CHEVERETO_ERROR_LOG_CRON' => '',
|
||||
'CHEVERETO_ERROR_LOG' => 'php://stderr',
|
||||
'CHEVERETO_HEADER_CLIENT_IP' => '',
|
||||
'CHEVERETO_HOSTNAME_PATH' => '/',
|
||||
'CHEVERETO_HOSTNAME' => 'localhost',
|
||||
'CHEVERETO_HTTPS' => '1',
|
||||
'CHEVERETO_IMAGE_FORMATS_AVAILABLE' => '["AVIF","JPEG","PNG","BMP","GIF","WEBP"]',
|
||||
'CHEVERETO_IMAGE_LIBRARY' => 'imagick',
|
||||
'CHEVERETO_MAX_ADMINS' => '0',
|
||||
'CHEVERETO_MAX_ALBUMS' => '0',
|
||||
'CHEVERETO_MAX_CATEGORIES' => '0',
|
||||
'CHEVERETO_MAX_EXECUTION_TIME_SECONDS' => '30',
|
||||
'CHEVERETO_MAX_FILES' => '0',
|
||||
'CHEVERETO_MAX_LOGIN_PROVIDERS' => '0',
|
||||
'CHEVERETO_MAX_MANAGERS' => '0',
|
||||
'CHEVERETO_MAX_MEMORY_SIZE' => '512M',
|
||||
'CHEVERETO_MAX_PAGES' => '0',
|
||||
'CHEVERETO_MAX_POST_SIZE' => '100M',
|
||||
'CHEVERETO_MAX_STORAGES' => '0',
|
||||
'CHEVERETO_MAX_TAGS_PER_FILE' => '0',
|
||||
'CHEVERETO_MAX_TAGS_PER_LISTING' => '0',
|
||||
'CHEVERETO_MAX_TAGS' => '0',
|
||||
'CHEVERETO_MAX_UPLOAD_SIZE' => '100M',
|
||||
'CHEVERETO_MAX_USER_ALBUMS_LIST' => '500',
|
||||
'CHEVERETO_MAX_USERS' => '0',
|
||||
'CHEVERETO_MIN_STORAGES_ACTIVE' => '0',
|
||||
'CHEVERETO_SERVICING' => 'server',
|
||||
'CHEVERETO_SESSION_SAVE_HANDLER' => 'files',
|
||||
'CHEVERETO_SESSION_SAVE_PATH' => '/tmp',
|
||||
'CHEVERETO_XRDEBUG_HOST' => 'localhost',
|
||||
'CHEVERETO_XRDEBUG_HTTPS' => '0',
|
||||
'CHEVERETO_XRDEBUG_KEY' => '',
|
||||
'CHEVERETO_XRDEBUG_PORT' => '27420',
|
||||
];
|
||||
|
|
5278
app/languages/ar.po
5278
app/languages/ar.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
760
app/languages/bs-BA.po
Normal file
760
app/languages/bs-BA.po
Normal file
|
@ -0,0 +1,760 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VERSION\n"
|
||||
"POT-Creation-Date: 2023-05-22 15:49+0000\n"
|
||||
"PO-Revision-Date: 2023-05-22 15:49+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE TEAM <EMAIL@ADDRESS>\n"
|
||||
"Language: bs_BA\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
|
||||
|
||||
msgid "Request denied"
|
||||
msgstr "Zahtjev odbijen"
|
||||
|
||||
msgid "That page doesn't exist"
|
||||
msgstr "Ova stranica ne postoji"
|
||||
|
||||
msgid "Reset password"
|
||||
msgstr "Promjeni lozinku"
|
||||
|
||||
msgid "Resend account activation"
|
||||
msgstr "Pošalji aktivaciju za korisnički račun ponovno"
|
||||
|
||||
msgid "Add your email address"
|
||||
msgstr "Dodaj E-mail adresu"
|
||||
|
||||
msgid "Awaiting confirmation"
|
||||
msgstr "Očekujem potvrdu"
|
||||
|
||||
msgid "Email changed"
|
||||
msgstr "E-mail adresa je promijenjena"
|
||||
|
||||
msgid "Invalid Username/Email"
|
||||
msgstr "Pogrešno ste upisali korisničko ime ili e-mail adresu"
|
||||
|
||||
msgid "Account needs to be activated to use this feature"
|
||||
msgstr "Profil treba da bude aktiviran za ove pogodnosti"
|
||||
|
||||
msgid "Account already activated"
|
||||
msgstr "Profil već aktiviran"
|
||||
|
||||
msgid "Allow up to 15 minutes for the email. You can try again later."
|
||||
msgstr "Dozvolite do 15 minuta za email. Možete pokušati ponovo kasnije"
|
||||
|
||||
#, php-format
|
||||
msgid "Reset your password at %s"
|
||||
msgstr "Resetirajte svoju šifru na %s"
|
||||
|
||||
#, php-format
|
||||
msgid "Confirmation required at %s"
|
||||
msgstr "Potrebna potvrda na %s"
|
||||
|
||||
#, php-format
|
||||
msgid "Welcome to %s"
|
||||
msgstr "Dobrodošli na %s"
|
||||
|
||||
msgid "Invalid password"
|
||||
msgstr "Netačna šifra"
|
||||
|
||||
msgid "Passwords don't match"
|
||||
msgstr "Šifre se ne podudaraju"
|
||||
|
||||
msgid "Invalid email"
|
||||
msgstr "Netačan email"
|
||||
|
||||
msgid "Email already being used"
|
||||
msgstr "Email se već koristi"
|
||||
|
||||
msgid "Check the errors in the form to continue."
|
||||
msgstr "Provjerite greške u formi da nastavite"
|
||||
|
||||
msgid "Embed codes"
|
||||
msgstr "Zalijepiti kodove"
|
||||
|
||||
msgid "Stats"
|
||||
msgstr "Statistika"
|
||||
|
||||
msgid "Settings"
|
||||
msgstr "Postavke"
|
||||
|
||||
msgid "Website"
|
||||
msgstr "Web stranica"
|
||||
|
||||
msgid "Image upload"
|
||||
msgstr "Postavljanje slike"
|
||||
|
||||
msgid "Theme"
|
||||
msgstr "Tema"
|
||||
|
||||
msgid "System"
|
||||
msgstr "Sistem"
|
||||
|
||||
msgid "External services"
|
||||
msgstr "Eksterne usluge"
|
||||
|
||||
msgid "Flood protection"
|
||||
msgstr "Flood protekcija"
|
||||
|
||||
msgid "Community"
|
||||
msgstr "Zajednica"
|
||||
|
||||
msgid "PHP version"
|
||||
msgstr "PHP verzija"
|
||||
|
||||
msgid "MySQL version"
|
||||
msgstr "MySQL verzija"
|
||||
|
||||
msgid "File uploads"
|
||||
msgstr "Fajl postavljanja"
|
||||
|
||||
msgid "Enabled"
|
||||
msgstr "Dozvoljeno"
|
||||
|
||||
msgid "Disabled"
|
||||
msgstr "Onesposobljeno"
|
||||
|
||||
msgid "Max. execution time"
|
||||
msgstr "Max. vrijeme izvršenja"
|
||||
|
||||
msgid "Memory limit"
|
||||
msgstr "Limit memorije"
|
||||
|
||||
msgid "search content"
|
||||
msgstr "Petražite sastav"
|
||||
|
||||
msgid "Explore"
|
||||
msgstr "Istraži"
|
||||
|
||||
msgid "Invalid website name"
|
||||
msgstr "Netačno ime web stranice"
|
||||
|
||||
msgid "Invalid language"
|
||||
msgstr "Netačan jezik"
|
||||
|
||||
msgid "Invalid timezone"
|
||||
msgstr "Netačna vremenska zona"
|
||||
|
||||
msgid "Invalid upload storage mode"
|
||||
msgstr "Netačan način postavljanja skladišta"
|
||||
|
||||
msgid "Invalid upload filenaming"
|
||||
msgstr "Netačno postavljanje file imena"
|
||||
|
||||
msgid "Invalid thumb width"
|
||||
msgstr "Netačna thumb širina"
|
||||
|
||||
msgid "Invalid thumb height"
|
||||
msgstr "Pogrešna visina sličice"
|
||||
|
||||
msgid "Invalid theme"
|
||||
msgstr "Pogrešna tema"
|
||||
|
||||
msgid "Invalid value"
|
||||
msgstr "Netačna količina"
|
||||
|
||||
msgid "Invalid email mode"
|
||||
msgstr "Nevažeći način e-maila"
|
||||
|
||||
msgid "Invalid SMTP port"
|
||||
msgstr "Pogrešan SMTP port"
|
||||
|
||||
msgid "Invalid upload image path"
|
||||
msgstr "Pogrešna putanja slike za postavljanje"
|
||||
|
||||
#, php-format
|
||||
msgid "Max. allowed %s"
|
||||
msgstr "Maksimalno dopušteno %s"
|
||||
|
||||
msgid "Invalid SMTP server"
|
||||
msgstr "Pogrešan SMTP server"
|
||||
|
||||
msgid "Invalid SMTP username"
|
||||
msgstr "Pogrešno SMTP korisničko ime"
|
||||
|
||||
msgid "Dashboard"
|
||||
msgstr "Kontrolna ploča"
|
||||
|
||||
msgid "About"
|
||||
msgstr "U vezi"
|
||||
|
||||
msgid "Image ID"
|
||||
msgstr "ID slike"
|
||||
|
||||
msgid "Upload date"
|
||||
msgstr "Datum postavljanja"
|
||||
|
||||
msgid "Direct links"
|
||||
msgstr "Direktni linkovi"
|
||||
|
||||
msgid "Image link"
|
||||
msgstr "Link slike"
|
||||
|
||||
msgid "Image URL"
|
||||
msgstr "URL slike"
|
||||
|
||||
msgid "Thumbnail URL"
|
||||
msgstr "URL sličice"
|
||||
|
||||
msgid "Medium URL"
|
||||
msgstr "Srednji URL"
|
||||
|
||||
msgid "Login needed"
|
||||
msgstr "Prijava potrebna"
|
||||
|
||||
msgid "Invalid username"
|
||||
msgstr "Netačno korisničko ime"
|
||||
|
||||
msgid "Wrong Username/Email password combination"
|
||||
msgstr "Pogrešan korisnički naziv, e-mail adresa ili kombinacija lozinke"
|
||||
|
||||
msgid "Sign in"
|
||||
msgstr "Prijava"
|
||||
|
||||
msgid "Search"
|
||||
msgstr "Pretraži"
|
||||
|
||||
msgid "Account"
|
||||
msgstr "Korisnički račun"
|
||||
|
||||
msgid "Profile"
|
||||
msgstr "Profil"
|
||||
|
||||
msgid "Password"
|
||||
msgstr "Lozinka"
|
||||
|
||||
#, php-format
|
||||
msgid "An email has been sent to %s with instructions to activate this email"
|
||||
msgstr "Poslali smo e-mail korisniku %s sa instrukcijama kako aktivirati korisnički račun"
|
||||
|
||||
msgid "Invalid name"
|
||||
msgstr "Pogrešan naziv"
|
||||
|
||||
msgid "Invalid website"
|
||||
msgstr "Pogrešna web stranica"
|
||||
|
||||
msgid "Wrong password"
|
||||
msgstr "Pogrešna lozinka"
|
||||
|
||||
msgid "Use a new password"
|
||||
msgstr "Koristi novu lozinku"
|
||||
|
||||
msgid "Password has been changed"
|
||||
msgstr "Lozinka je uspiješno promijenjena"
|
||||
|
||||
msgid "Wrong Username/Email values"
|
||||
msgstr "Pogrešno korisničko ime ili e-mail"
|
||||
|
||||
#, php-format
|
||||
msgid "Settings for %s"
|
||||
msgstr "Postavke za %s"
|
||||
|
||||
msgid "Username"
|
||||
msgstr "Korisnički naziv"
|
||||
|
||||
msgid "Delete user"
|
||||
msgstr "Izbrišite korisnika"
|
||||
|
||||
msgid "User ID"
|
||||
msgstr "ID korisnika"
|
||||
|
||||
msgid "Register date"
|
||||
msgstr "Datum registriranja"
|
||||
|
||||
msgid "Create account"
|
||||
msgstr "Napravi korisnički račun"
|
||||
|
||||
msgid "Upload"
|
||||
msgstr "Upload."
|
||||
|
||||
msgid "Albums"
|
||||
msgstr "Albumi"
|
||||
|
||||
msgid "Note: This content is private. Change privacy to \"public\" to share."
|
||||
msgstr "Napomena: Ovaj sadržaj je privatan, promijeni privatnost albuma na javno ukoliko želiš da ostali korisnici mogu vidjeti ovaj sadržaj."
|
||||
|
||||
msgid "Public"
|
||||
msgstr "Javno"
|
||||
|
||||
msgid "Private upload"
|
||||
msgstr "Privatno postavljanje"
|
||||
|
||||
msgid "Most recent"
|
||||
msgstr "Najnovije"
|
||||
|
||||
msgid "Oldest"
|
||||
msgstr "Najstarije"
|
||||
|
||||
msgid "Most viewed"
|
||||
msgstr "Najviše pregledano"
|
||||
|
||||
msgid "Share"
|
||||
msgstr "Podijeli"
|
||||
|
||||
#, php-format
|
||||
msgid "%s ago"
|
||||
msgstr "%s prije"
|
||||
|
||||
msgid "moments ago"
|
||||
msgstr "trenutaka prije"
|
||||
|
||||
msgid "Random"
|
||||
msgstr "Slučajno"
|
||||
|
||||
msgid "loading"
|
||||
msgstr "učitavanje"
|
||||
|
||||
msgid "My Profile"
|
||||
msgstr "Moj profil"
|
||||
|
||||
msgid "Sign out"
|
||||
msgstr "Izlogirajte se"
|
||||
|
||||
msgid "You must enter the album name."
|
||||
msgstr "Ime albuma morate unijeti ovdje"
|
||||
|
||||
msgid "Confirm"
|
||||
msgstr "Potvrdi"
|
||||
|
||||
msgid "An error occurred. Please try again later."
|
||||
msgstr "Došlo je do greške. Molim vas pokušajte kasnije"
|
||||
|
||||
msgid "Please select a valid image file type."
|
||||
msgstr "Selektirajte važeći tip fajl slike"
|
||||
|
||||
#, javascript-format
|
||||
msgid "Please select a picture of at most %s size."
|
||||
msgstr "Selektirajte sliku na najvećoj %s veličini"
|
||||
|
||||
msgid "Profile image updated."
|
||||
msgstr "Slika profila ažurirana "
|
||||
|
||||
msgid "Create album"
|
||||
msgstr "Kreirajte album"
|
||||
|
||||
msgid "Edit"
|
||||
msgstr "Izmjenite"
|
||||
|
||||
msgid "Delete"
|
||||
msgstr "Izbrišite"
|
||||
|
||||
#, javascript-format
|
||||
msgid "%s's Albums"
|
||||
msgstr "%s albumi"
|
||||
|
||||
msgid "private"
|
||||
msgstr "Privatno"
|
||||
|
||||
msgid "Select"
|
||||
msgstr "Odaberi"
|
||||
|
||||
msgid "Unselect"
|
||||
msgstr "Poništi"
|
||||
|
||||
msgid "All the changes that you have made will be lost if you continue."
|
||||
msgstr "Sve promjene koje ste upisali će biti izgubljene ukoliko nastavite."
|
||||
|
||||
msgid "Save changes"
|
||||
msgstr "Spremi promjene"
|
||||
|
||||
msgid "Submit"
|
||||
msgstr "Potvrdi"
|
||||
|
||||
msgid "Changes saved successfully."
|
||||
msgstr "Promjene uspješno sačuvane"
|
||||
|
||||
msgid "Go back to form"
|
||||
msgstr "Vrati se nazad na formu"
|
||||
|
||||
msgid "or"
|
||||
msgstr "ili"
|
||||
|
||||
msgid "continue anyway"
|
||||
msgstr "svejedno nastavi"
|
||||
|
||||
msgid "cancel"
|
||||
msgstr "Poništi"
|
||||
|
||||
msgid "Confirm action"
|
||||
msgstr "Potvrdi akciju"
|
||||
|
||||
msgid "Upload complete"
|
||||
msgstr "Prijenos je završen"
|
||||
|
||||
msgid "Uploading"
|
||||
msgstr "Postavljanje"
|
||||
|
||||
msgid "cancel remaining"
|
||||
msgstr "otkaži preostale"
|
||||
|
||||
msgid "learn more"
|
||||
msgstr "saznaj više"
|
||||
|
||||
msgid "Check the <a data-modal=\"simple\" data-target=\"failed-upload-result\">error report</a> for more information."
|
||||
msgstr "Provjeri <a data-modal=\"simple\" data-target=\"failed-upload-result\">izvještaj grešaka</a> za više informacija."
|
||||
|
||||
msgid "optional"
|
||||
msgstr "neobavezano"
|
||||
|
||||
msgid "Add image URLs"
|
||||
msgstr "Dodajte URL-ove slike"
|
||||
|
||||
msgid "Add the image URLs here"
|
||||
msgstr "Dodajte URL-ova slike ovdje"
|
||||
|
||||
msgid "Error report"
|
||||
msgstr "Prijavite grešku"
|
||||
|
||||
msgid "Links"
|
||||
msgstr "Linkovi"
|
||||
|
||||
msgid "Direct"
|
||||
msgstr "Direktno"
|
||||
|
||||
msgid "HTML Codes"
|
||||
msgstr "HTML kodovi"
|
||||
|
||||
msgid "HTML medium linked"
|
||||
msgstr "HTML djelimično povezan"
|
||||
|
||||
msgid "HTML thumbnail linked"
|
||||
msgstr "HTML thumbnail povezan"
|
||||
|
||||
msgid "BBCodes"
|
||||
msgstr "BBKodovi"
|
||||
|
||||
msgid "BBCode thumbnail linked"
|
||||
msgstr "BBKode thumbnail povezan"
|
||||
|
||||
msgid "Viewer links"
|
||||
msgstr "Linkovi gledalaca"
|
||||
|
||||
msgid "Name"
|
||||
msgstr "Naziv"
|
||||
|
||||
msgid "Who can view this content"
|
||||
msgstr "Ko može sve da gleda ovaj sadržaj"
|
||||
|
||||
msgid "Private (just me)"
|
||||
msgstr "Privatno (samo ja)"
|
||||
|
||||
msgid "Message"
|
||||
msgstr "Poruka"
|
||||
|
||||
msgid "view more"
|
||||
msgstr "Vidite više"
|
||||
|
||||
msgid "Load more"
|
||||
msgstr "Očitajte više"
|
||||
|
||||
msgid "Select all"
|
||||
msgstr "Selektujte sve"
|
||||
|
||||
msgid "Clear selection"
|
||||
msgstr "Jasan izbor"
|
||||
|
||||
msgid "Sign in with another account"
|
||||
msgstr "Prijavite se sa drugog profila."
|
||||
|
||||
msgid "There's nothing to show here."
|
||||
msgstr "Ovdje se nema šta prikazati"
|
||||
|
||||
msgid "Confirm deletion"
|
||||
msgstr "Potvrdite brisanje "
|
||||
|
||||
msgid "Guest"
|
||||
msgstr "Gost"
|
||||
|
||||
msgid "You either don't have permission to access this page or the link has expired."
|
||||
msgstr "Vi nemate dozvolu za pristup ovoj stranici ili veza je istekla."
|
||||
|
||||
msgid "Go to homepage"
|
||||
msgstr "Idi na početnu"
|
||||
|
||||
msgid "The requested page was not found."
|
||||
msgstr "Tražena stranica nije pronađena."
|
||||
|
||||
msgid "The user has been deleted"
|
||||
msgstr "Član je obrisan iz baze servisa"
|
||||
|
||||
msgid "Your account is almost ready"
|
||||
msgstr "Vaš korisnički račun je skoro spreman za korištenje"
|
||||
|
||||
msgid "Resend activation"
|
||||
msgstr "Pošalji aktivacijski e-mail ponovo"
|
||||
|
||||
#, php-format
|
||||
msgid "You have successfully changed your account email to %s"
|
||||
msgstr "Uspješno ste promjenili email profila u %s."
|
||||
|
||||
msgid "Go to my profile"
|
||||
msgstr "Idite na moj profil."
|
||||
|
||||
msgid "Your email address"
|
||||
msgstr "Vaša E-mail adresa."
|
||||
|
||||
msgid "An email with instructions to reset your password has been sent to the registered email address. If you don't receive the instructions try checking your junk or spam filters."
|
||||
msgstr "E-Mail sa instrukcijama kako promijenuti vašu lozinku je poslan na e-mail adresu sa kojom ste se registrovali. Ukoliko ne dobijete instrukcije, provjerite spam filtere ili folder junk/spam na vašem e-mail servisu."
|
||||
|
||||
msgid "Resend instructions"
|
||||
msgstr "Pošalji upute ponovno"
|
||||
|
||||
msgid "Username or Email address"
|
||||
msgstr "Korisničko ime ili Email adresa."
|
||||
|
||||
msgid "Login now"
|
||||
msgstr "Prijavite se sada"
|
||||
|
||||
msgid "Enter your new password"
|
||||
msgstr "Upiši novu lozinku"
|
||||
|
||||
msgid "Re-enter your new password"
|
||||
msgstr "Ponovno unesite novu lozinku"
|
||||
|
||||
msgid "From name"
|
||||
msgstr "Poslano od naziva"
|
||||
|
||||
msgid "Sender name for emails sent to users."
|
||||
msgstr "Ime pošiljatelja za e-mailove poslane članovima."
|
||||
|
||||
msgid "From email address"
|
||||
msgstr "Sa email adrese"
|
||||
|
||||
msgid "Sender email for emails sent to users."
|
||||
msgstr "Email adresa pošiljatelja za e-mailove poslate članovima."
|
||||
|
||||
msgid "Incoming email address"
|
||||
msgstr "Dolazeža E-Mail adresa"
|
||||
|
||||
msgid "Recipient for contact form and system alerts."
|
||||
msgstr "Primatelj za kontakt forme i sustav upozorenja."
|
||||
|
||||
msgid "Email mode"
|
||||
msgstr "E-Mail mod"
|
||||
|
||||
msgid "SMTP server and port"
|
||||
msgstr "SMTP server i port"
|
||||
|
||||
msgid "SMTP username"
|
||||
msgstr "SMTP korisničko ime"
|
||||
|
||||
msgid "SMTP password"
|
||||
msgstr "SMTP lozinka"
|
||||
|
||||
msgid "SMTP security"
|
||||
msgstr "SMTP sigurnost"
|
||||
|
||||
msgid "Unsecured"
|
||||
msgstr "Nesigurno"
|
||||
|
||||
msgid "Comment code"
|
||||
msgstr "Kod komentara."
|
||||
|
||||
msgid "Disqus, Facebook or anything you want. It will be used in image view."
|
||||
msgstr "Raspravite, Facebook ili šta želite. Bit će korišteno u pogledu slike."
|
||||
|
||||
msgid "Analytics code"
|
||||
msgstr "Analitički kod."
|
||||
|
||||
msgid "Google Analytics or anything you want. It will be added to the theme footer."
|
||||
msgstr "Google analistik ili bilo što šta želite. Bit će dodato u temu footera."
|
||||
|
||||
msgid "Disk used"
|
||||
msgstr "Iskorišćeno memorije"
|
||||
|
||||
msgid "Notify to email"
|
||||
msgstr "Obavijesti na e-mail"
|
||||
|
||||
msgid "Minute limit"
|
||||
msgstr "Minute granica"
|
||||
|
||||
msgid "Hourly limit"
|
||||
msgstr "Satni limit"
|
||||
|
||||
msgid "Daily limit"
|
||||
msgstr "Dnevni limit"
|
||||
|
||||
msgid "Weekly limit"
|
||||
msgstr "Sedmični limit"
|
||||
|
||||
msgid "Monthly limit"
|
||||
msgstr "Mjesečni limit"
|
||||
|
||||
msgid "Guest uploads"
|
||||
msgstr "Postavljanje slika za goste"
|
||||
|
||||
msgid "Enable this if you want to allow non registered users to upload."
|
||||
msgstr "Omogućite ovo ako želite da gosti uploaduju slike."
|
||||
|
||||
msgid "Image path"
|
||||
msgstr "Putanja slike na serveru"
|
||||
|
||||
msgid "Relative to Chevereto root"
|
||||
msgstr "Gdje želite sačuvati slike? Po zadanim postavkama ostavite putanju \"images\"."
|
||||
|
||||
msgid "Storage mode"
|
||||
msgstr "Način za pohranu"
|
||||
|
||||
msgid "Datefolders"
|
||||
msgstr "Vremenske mape"
|
||||
|
||||
#, php-format
|
||||
msgid "Datefolders creates %s structure"
|
||||
msgstr "Vremenski nazivi foldera kreiraju strukturu %s"
|
||||
|
||||
msgid "File naming method"
|
||||
msgstr "Način imenovanja datoteka"
|
||||
|
||||
msgid "Original"
|
||||
msgstr "Originalno"
|
||||
|
||||
msgid "Thumb size"
|
||||
msgstr "Veličina ikone"
|
||||
|
||||
msgid "Thumbnails will be fixed to this size."
|
||||
msgstr "Veličina ikone će biti fiksna za ovu veličinu"
|
||||
|
||||
msgid "Default language"
|
||||
msgstr "Zadani jezik"
|
||||
|
||||
msgid "Default base language to use."
|
||||
msgstr "Ovaj jezik će biti prikazan svim posjetiocima kao zadani jezik."
|
||||
|
||||
msgid "Auto language"
|
||||
msgstr "Automatski jezik"
|
||||
|
||||
msgid "How many items should be displayed per page listing."
|
||||
msgstr "Koliko sadržaja treba da bude prikazano po stranici"
|
||||
|
||||
msgid "Crypt salt"
|
||||
msgstr "Enkripcija"
|
||||
|
||||
msgid "This is the salt used to convert numeric ID to alphanumeric. It was generated on install."
|
||||
msgstr "Ovo se koristi da konvertuje numerički ID u alfanumerički. Generisan je pri instalaciji."
|
||||
|
||||
msgid "Website name"
|
||||
msgstr "Naziv web stranice"
|
||||
|
||||
msgid "Website doctitle"
|
||||
msgstr "Podnaslov web stranice"
|
||||
|
||||
msgid "Website description"
|
||||
msgstr "Opis web stranice"
|
||||
|
||||
msgid "Default time zone"
|
||||
msgstr "Zadana vremenska zona"
|
||||
|
||||
msgid "Select region"
|
||||
msgstr "Izaberi regiju"
|
||||
|
||||
msgid "Website mode"
|
||||
msgstr "Način rada web stranice"
|
||||
|
||||
msgid "You can switch the website mode anytime."
|
||||
msgstr "Način rada web stranice možete prebacivati u bilo kom trenutku."
|
||||
|
||||
msgid "Role"
|
||||
msgstr "Uloga"
|
||||
|
||||
msgid "Email address"
|
||||
msgstr "E-mail adresa."
|
||||
|
||||
#, php-format
|
||||
msgid "Added to %s"
|
||||
msgstr "Dodato do %s"
|
||||
|
||||
#, php-format
|
||||
msgid "Uploaded %s"
|
||||
msgstr "Postaviti %s"
|
||||
|
||||
msgid "Logged out"
|
||||
msgstr "Odjavi se"
|
||||
|
||||
#, php-format
|
||||
msgid "You have been logged off %s. Hope to see you soon."
|
||||
msgstr "Odjavljeni ste %s. Nadam se da ćemo uskoro ponovno vas vidjeti."
|
||||
|
||||
msgid "Valid"
|
||||
msgstr "Vrijedi"
|
||||
|
||||
msgid "Banned"
|
||||
msgstr "Zabranjen/Banovan"
|
||||
|
||||
msgid "Awaiting email"
|
||||
msgstr "Očekujem e-mail"
|
||||
|
||||
msgid "Language"
|
||||
msgstr "Jezik"
|
||||
|
||||
msgid "Timezone"
|
||||
msgstr "Vremenska zona"
|
||||
|
||||
msgid "User has no connections."
|
||||
msgstr "Korisnik nema veze."
|
||||
|
||||
#, php-format
|
||||
msgid "Do you really want to disconnect %s from this account?"
|
||||
msgstr "Da li stvarno želite odspojiti %s s tog korisničkog računa?"
|
||||
|
||||
#, php-format
|
||||
msgid "This account is connected to %s"
|
||||
msgstr "Ovaj korisnički račun je spojen na %s"
|
||||
|
||||
#, php-format
|
||||
msgid "Do you really want to disconnect your %s account?"
|
||||
msgstr "Da li stvarno želite odspojiti vaš %s korisnički račun?"
|
||||
|
||||
#, php-format
|
||||
msgid "You will be logged out and you won't be able to login to your account using this %s account."
|
||||
msgstr "Bit ćete odjavljeni i nećete moći se prijaviti na vaš korisnički račun korištenjem ovog %s računa."
|
||||
|
||||
msgid "Current password"
|
||||
msgstr "Trenutna lozinka"
|
||||
|
||||
msgid "Enter your current password"
|
||||
msgstr "Unesite trenutnu lozinku"
|
||||
|
||||
msgid "New password"
|
||||
msgstr "Nova lozinka"
|
||||
|
||||
msgid "Confirm new password"
|
||||
msgstr "Potvrdi novu lozinku"
|
||||
|
||||
msgid "This user doesn't have a password. Add one using this form."
|
||||
msgstr "Ovaj korisnik nema lozinku. Dodajte ju pomoću ovog obrasca."
|
||||
|
||||
msgid "Enter your password"
|
||||
msgstr "Upiši svoju lozinku"
|
||||
|
||||
msgid "Confirm password"
|
||||
msgstr "Potvrdi lozinku"
|
||||
|
||||
msgid "Re-enter your password"
|
||||
msgstr "Ponovno upišite svoju lozinku"
|
||||
|
||||
msgid "This is your real name, not your username."
|
||||
msgstr "To je vaše pravo ime, a ne vaše korisničko ime."
|
||||
|
||||
msgid "Upload profile background"
|
||||
msgstr "Postavi pozadinu profila"
|
||||
|
||||
msgid "Change background"
|
||||
msgstr "Promjenite pozadinu"
|
||||
|
||||
msgid "Upload new image"
|
||||
msgstr "Postavite novu sliku"
|
||||
|
||||
msgid "Delete background"
|
||||
msgstr "Izbrišite pozadinu"
|
||||
|
||||
msgid "DMCA complaint"
|
||||
msgstr "DMCA žalba"
|
||||
|
||||
msgid "Invalid message"
|
||||
msgstr "Pogrešna poruka"
|
||||
|
||||
msgid "Invalid subject"
|
||||
msgstr "Pogrešan subjekt"
|
||||
|
1353
app/languages/ca.po
Normal file
1353
app/languages/ca.po
Normal file
File diff suppressed because it is too large
Load diff
4578
app/languages/cs.po
4578
app/languages/cs.po
File diff suppressed because it is too large
Load diff
2992
app/languages/da.po
2992
app/languages/da.po
File diff suppressed because it is too large
Load diff
3385
app/languages/de-DE.po
Normal file
3385
app/languages/de-DE.po
Normal file
File diff suppressed because it is too large
Load diff
5545
app/languages/de.po
5545
app/languages/de.po
File diff suppressed because it is too large
Load diff
3521
app/languages/el.po
3521
app/languages/el.po
File diff suppressed because it is too large
Load diff
9461
app/languages/en.po
9461
app/languages/en.po
File diff suppressed because it is too large
Load diff
5361
app/languages/es.po
5361
app/languages/es.po
File diff suppressed because it is too large
Load diff
3496
app/languages/fa.po
3496
app/languages/fa.po
File diff suppressed because it is too large
Load diff
4818
app/languages/fi.po
4818
app/languages/fi.po
File diff suppressed because it is too large
Load diff
6236
app/languages/fr.po
6236
app/languages/fr.po
File diff suppressed because it is too large
Load diff
3067
app/languages/he.po
3067
app/languages/he.po
File diff suppressed because it is too large
Load diff
2373
app/languages/hr.po
2373
app/languages/hr.po
File diff suppressed because it is too large
Load diff
5259
app/languages/hu.po
5259
app/languages/hu.po
File diff suppressed because it is too large
Load diff
4265
app/languages/id.po
4265
app/languages/id.po
File diff suppressed because it is too large
Load diff
4618
app/languages/it.po
4618
app/languages/it.po
File diff suppressed because it is too large
Load diff
4775
app/languages/ko.po
4775
app/languages/ko.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
4780
app/languages/nb.po
4780
app/languages/nb.po
File diff suppressed because it is too large
Load diff
4669
app/languages/nl.po
4669
app/languages/nl.po
File diff suppressed because it is too large
Load diff
5268
app/languages/pl.po
5268
app/languages/pl.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
3732
app/languages/pt.po
3732
app/languages/pt.po
File diff suppressed because it is too large
Load diff
31
app/languages/ro.po
Normal file
31
app/languages/ro.po
Normal file
|
@ -0,0 +1,31 @@
|
|||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: VERSION\n"
|
||||
"POT-Creation-Date: 2023-05-22 15:49+0000\n"
|
||||
"PO-Revision-Date: 2023-05-22 15:49+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE TEAM <EMAIL@ADDRESS>\n"
|
||||
"Language: ro\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < 20)) ? 1 : 2);\n"
|
||||
|
||||
msgid "Invalid password"
|
||||
msgstr "Parola greșită"
|
||||
|
||||
msgid "Invalid email"
|
||||
msgstr "E-mail greșit"
|
||||
|
||||
msgid "Invalid username"
|
||||
msgstr "User greșit"
|
||||
|
||||
msgid "Private profile"
|
||||
msgstr "Profil privat"
|
||||
|
||||
msgid "From email address"
|
||||
msgstr "De la adresa de email"
|
||||
|
||||
msgid "Sender email for emails sent to users."
|
||||
msgstr "Trimite email către toţi userii"
|
||||
|
4908
app/languages/ru.po
4908
app/languages/ru.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
3198
app/languages/sv.po
3198
app/languages/sv.po
File diff suppressed because it is too large
Load diff
4400
app/languages/th.po
4400
app/languages/th.po
File diff suppressed because it is too large
Load diff
4444
app/languages/uk.po
4444
app/languages/uk.po
File diff suppressed because it is too large
Load diff
6269
app/languages/vi.po
6269
app/languages/vi.po
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
@ -14,9 +14,9 @@ use function Chevereto\Legacy\feedbackAlert;
|
|||
use function Chevereto\Legacy\isSafeToExecute;
|
||||
use function Chevereto\Vars\env;
|
||||
|
||||
if (!(bool) env()['CHEVERETO_ENABLE_BULK_IMPORTER']) {
|
||||
if (! (bool) env()['CHEVERETO_ENABLE_BULK_IMPORTER']) {
|
||||
feedbackAlert('Bulk importer is disabled');
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
$threadID = getenv('THREAD_ID') ?: 0;
|
||||
$loop = 1;
|
||||
|
@ -26,7 +26,7 @@ do {
|
|||
if ($jobs === []) {
|
||||
echo "~They took our jobs!~\n";
|
||||
echo "[OK] No jobs left.\n";
|
||||
die(0);
|
||||
exit(0);
|
||||
}
|
||||
$id = $jobs[0]['import_id'];
|
||||
$import = new Import();
|
||||
|
@ -34,13 +34,15 @@ do {
|
|||
$import->thread = (int) $threadID;
|
||||
$import->get();
|
||||
if ($import->isLocked()) {
|
||||
$import->edit(['status' => 'paused']);
|
||||
echo "> Job locked for id #$id\n";
|
||||
$import->edit([
|
||||
'status' => 'paused',
|
||||
]);
|
||||
echo "> Job locked for id #{$id}\n";
|
||||
} else {
|
||||
echo "* Processing job id #$id\n";
|
||||
echo "* Processing job id #{$id}\n";
|
||||
$import->process();
|
||||
}
|
||||
$loop++;
|
||||
} while (isSafeToExecute());
|
||||
echo "--\n[OK] Automatic importing looped $loop times ~ /dashboard/bulk for stats\n";
|
||||
die(0);
|
||||
echo "--\n[OK] Automatic importing looped {$loop} times ~ /dashboard/bulk for stats\n";
|
||||
exit(0);
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
|
||||
use Chevereto\Encryption\EncryptionInstance;
|
||||
use Chevereto\Encryption\Interfaces\EncryptionInterface;
|
||||
use Chevereto\Legacy\Classes\Album;
|
||||
use Chevereto\Legacy\Classes\DB;
|
||||
use Chevereto\Legacy\Classes\Login;
|
||||
use Chevereto\Legacy\Classes\Settings;
|
||||
|
@ -34,8 +35,10 @@ $settings = Settings::get();
|
|||
new EncryptionInstance($toEncryption);
|
||||
foreach (Settings::ENCRYPTED_NAMES as $key) {
|
||||
$value = $settings[$key] ?? '';
|
||||
feedback("- $key: $value");
|
||||
Settings::update([$key => $value]);
|
||||
feedback("- {$key}: {$value}");
|
||||
Settings::update([
|
||||
$key => $value,
|
||||
]);
|
||||
}
|
||||
feedbackSeparator();
|
||||
feedbackStep($doing, 'storages');
|
||||
|
@ -47,7 +50,7 @@ foreach ($storages as $storage) {
|
|||
$values = [];
|
||||
foreach (Storage::ENCRYPTED_NAMES as $key) {
|
||||
$value = $storage[$key] ?? '';
|
||||
feedback(" $key: $value");
|
||||
feedback(" {$key}: {$value}");
|
||||
$values[$key] = $value;
|
||||
}
|
||||
Storage::update(
|
||||
|
@ -58,7 +61,10 @@ foreach ($storages as $storage) {
|
|||
}
|
||||
feedbackSeparator();
|
||||
feedbackStep($doing, 'two-factor secrets');
|
||||
$twoFactors = DB::get('two_factors', [], 'AND', ['field' => 'id', 'order' => 'desc']);
|
||||
$twoFactors = DB::get('two_factors', [], 'AND', [
|
||||
'field' => 'id',
|
||||
'order' => 'desc',
|
||||
]);
|
||||
foreach ($twoFactors as $twoFactor) {
|
||||
new EncryptionInstance($fromEncryption);
|
||||
$twoFactor = TwoFactor::get($twoFactor['two_factor_id']);
|
||||
|
@ -68,7 +74,7 @@ foreach ($twoFactors as $twoFactor) {
|
|||
$values = [
|
||||
'secret' => $secret,
|
||||
];
|
||||
feedback("- secret: $secret");
|
||||
feedback("- secret: {$secret}");
|
||||
TwoFactor::update(
|
||||
id: $twoFactor['id'],
|
||||
values: $values,
|
||||
|
@ -84,7 +90,7 @@ foreach ($loginProviders as $name => $loginProvider) {
|
|||
$values = [];
|
||||
foreach (Login::ENCRYPTED_PROVIDER_NAMES as $key) {
|
||||
$value = $loginProvider[$key] ?? '';
|
||||
feedback(" $key: $value");
|
||||
feedback(" {$key}: {$value}");
|
||||
$values[$key] = $value;
|
||||
}
|
||||
Login::updateProvider(
|
||||
|
@ -94,11 +100,18 @@ foreach ($loginProviders as $name => $loginProvider) {
|
|||
}
|
||||
feedbackSeparator();
|
||||
feedbackStep($doing, 'login connection tokens');
|
||||
$connections = DB::get(table: 'login_connections', values: 'all', sort: ['field' => 'id', 'order' => 'desc']);
|
||||
$connections = DB::get(
|
||||
table: 'login_connections',
|
||||
where: 'all',
|
||||
sort: [
|
||||
'field' => 'id',
|
||||
'order' => 'desc',
|
||||
]
|
||||
);
|
||||
foreach ($connections as $connection) {
|
||||
new EncryptionInstance($fromEncryption);
|
||||
$connection = Login::getConnection($connection['login_connection_id']);
|
||||
feedback("> Login connection #" . $connection['id']);
|
||||
feedback('> Login connection #' . $connection['id']);
|
||||
new EncryptionInstance($toEncryption);
|
||||
$token = $connection['token'];
|
||||
$values = [
|
||||
|
@ -109,5 +122,22 @@ foreach ($connections as $connection) {
|
|||
values: $values,
|
||||
);
|
||||
$tokenString = serialize($token);
|
||||
feedback("- token: $tokenString");
|
||||
feedback("- token: {$tokenString}");
|
||||
}
|
||||
feedbackSeparator();
|
||||
feedbackStep($doing, 'albums password');
|
||||
$albumsPassword = DB::queryFetchAll('SELECT album_id id, album_password password FROM ' . DB::getTable('albums') . ' WHERE album_password IS NOT NULL;');
|
||||
foreach ($albumsPassword as $album) {
|
||||
new EncryptionInstance($fromEncryption);
|
||||
feedback('> Album id #' . $album['id']);
|
||||
new EncryptionInstance($toEncryption);
|
||||
$password = $album['password'];
|
||||
$values = [
|
||||
'password' => $password,
|
||||
];
|
||||
Album::update(
|
||||
id: (int) $album['id'],
|
||||
values: $values,
|
||||
);
|
||||
feedback("- password: {$password}");
|
||||
}
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use Chevere\ThrowableHandler\Documents\PlainDocument;
|
||||
use Chevereto\Config\Config;
|
||||
use function Chevereto\Legacy\checkUpdates;
|
||||
use Chevereto\Legacy\Classes\DB;
|
||||
use Chevereto\Legacy\Classes\Image;
|
||||
use Chevereto\Legacy\Classes\L10n;
|
||||
|
@ -18,6 +18,13 @@ use Chevereto\Legacy\Classes\Lock;
|
|||
use Chevereto\Legacy\Classes\Queue;
|
||||
use Chevereto\Legacy\Classes\Settings;
|
||||
use Chevereto\Legacy\Classes\User;
|
||||
use Chevereto\Legacy\Classes\Variable;
|
||||
use function Chevere\Message\message;
|
||||
use function Chevere\ThrowableHandler\throwableHandler;
|
||||
use function Chevere\Writer\writers;
|
||||
use function Chevere\xrDebug\PHP\throwableHandler as XrDebugThrowableHandler;
|
||||
use function Chevereto\Legacy\checkUpdates;
|
||||
use function Chevereto\Legacy\cheveretoVersionInstalled;
|
||||
use function Chevereto\Legacy\feedbackAlert;
|
||||
use function Chevereto\Legacy\feedbackStep;
|
||||
use function Chevereto\Legacy\G\datetime_add;
|
||||
|
@ -30,44 +37,115 @@ use function Chevereto\Vars\env;
|
|||
|
||||
if (getSetting('maintenance')) {
|
||||
echo "[!] Chevereto is in maintenance mode.\n";
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
$jobs = ['deleteExpiredImages', 'cleanUnconfirmedUsers', 'removeDeleteLog', 'checkForNews'];
|
||||
if ((bool) env()['CHEVERETO_ENABLE_EXTERNAL_STORAGE']) {
|
||||
$jobs[] = 'storageDelete';
|
||||
}
|
||||
if ((bool) env()['CHEVERETO_ENABLE_CHECK_UPDATES']) {
|
||||
$jobs = [
|
||||
'deleteExpiredImages',
|
||||
'cleanUnconfirmedUsers',
|
||||
'removeDeleteLog',
|
||||
'storageDelete',
|
||||
];
|
||||
if ((bool) env()['CHEVERETO_ENABLE_UPDATE_CHECK']) {
|
||||
$jobs[] = 'checkForUpdates';
|
||||
}
|
||||
if ((bool) env()['CHEVERETO_ENABLE_NEWS_CHECK']) {
|
||||
$jobs[] = 'checkForNews';
|
||||
}
|
||||
if (Config::enabled()->htaccessCheck()) {
|
||||
$jobs[] = 'checkHtaccess';
|
||||
}
|
||||
shuffle($jobs);
|
||||
$time_start = microtime(true);
|
||||
$errors = [];
|
||||
$namespace = env()['CHEVERETO_ID_HANDLE'] ?? false;
|
||||
foreach ($jobs as $job) {
|
||||
if (!isSafeToExecute()) {
|
||||
if (! isSafeToExecute()) {
|
||||
echo "[OK] Exit - (time is up)\n";
|
||||
writeLastRan();
|
||||
writeLastRan($time_start);
|
||||
exit(0);
|
||||
}
|
||||
feedbackStep('Job:', $job);
|
||||
$job();
|
||||
|
||||
try {
|
||||
$job();
|
||||
} catch (Throwable $throwable) {
|
||||
feedbackAlert($throwable->getMessage());
|
||||
$errors[$job] = $throwable->getMessage();
|
||||
$publicHandler = throwableHandler($throwable);
|
||||
if ($namespace) {
|
||||
$publicHandler = $publicHandler
|
||||
->withId($namespace . $publicHandler->id());
|
||||
}
|
||||
$internalHandler = $publicHandler->withIsDebug(true);
|
||||
$docInternal = new PlainDocument($internalHandler);
|
||||
$logMessage = '[' . $publicHandler->id() . '] '
|
||||
. $docInternal->__toString()
|
||||
. "\n\n";
|
||||
|
||||
try {
|
||||
$errorLog = ini_get('error_log');
|
||||
$fp = fopen($errorLog, 'a');
|
||||
fwrite($fp, $logMessage);
|
||||
fclose($fp);
|
||||
} catch (Throwable) {
|
||||
if (PHP_SAPI === 'cli') {
|
||||
error_log($logMessage);
|
||||
} else {
|
||||
writers()->error()->write($logMessage);
|
||||
}
|
||||
}
|
||||
$extra = <<<HTML
|
||||
<div class="throwable-message"><b>Incident {$publicHandler->id()}</b></div>
|
||||
<div class="throwable-message"><b>Backtrace</b></div>
|
||||
HTML;
|
||||
XrDebugThrowableHandler($throwable, $extra);
|
||||
}
|
||||
}
|
||||
writeLastRan();
|
||||
function writeLastRan(): void
|
||||
writeLastRan($time_start);
|
||||
function writeLastRan(float $time_start): void
|
||||
{
|
||||
$datetimegmt = datetimegmt();
|
||||
Settings::update(['cron_last_ran' => datetimegmt()]);
|
||||
echo "--\n✅ [DONE] Cron tasks ran @ $datetimegmt\n";
|
||||
Variable::set('cron_last_ran', $datetimegmt);
|
||||
$time_taken = microtime(true) - $time_start;
|
||||
$ceil = ceil($time_taken);
|
||||
$round = round($time_taken, 2);
|
||||
echo "--\n[DONE] Cron tasks ran @ {$datetimegmt}";
|
||||
echo "\n{$round}s\n--";
|
||||
if (version_compare(cheveretoVersionInstalled(), '4.2.0', '>=')) {
|
||||
$sql = <<<MySQL
|
||||
INSERT `%table_stats%` (stat_type, stat_date_gmt, stat_cron_time, stat_cron_runs)
|
||||
VALUES ("date", DATE("%date_gmt%"), %time%, 1)
|
||||
ON DUPLICATE KEY
|
||||
UPDATE stat_cron_time = stat_cron_time + %time%,
|
||||
stat_cron_runs = stat_cron_runs + 1;
|
||||
MySQL;
|
||||
$sql = (string) message(
|
||||
$sql,
|
||||
table_stats: DB::getTable('stats'),
|
||||
time: $ceil,
|
||||
date_gmt: $datetimegmt,
|
||||
);
|
||||
|
||||
try {
|
||||
DB::queryExecute($sql);
|
||||
} catch (Throwable $e) {
|
||||
// Do nothing
|
||||
}
|
||||
}
|
||||
exit;
|
||||
}
|
||||
function echoLocked(string $job): void
|
||||
{
|
||||
echo "* [!] Job $job is locked ~ skipping\n";
|
||||
echo "* Job: {$job} [now locked]\n";
|
||||
}
|
||||
function storageDelete(): void
|
||||
{
|
||||
$job = 'storage-delete';
|
||||
$lock = new Lock($job);
|
||||
if ($lock->create()) {
|
||||
Queue::process(['type' => $job]);
|
||||
Queue::process([
|
||||
'type' => $job,
|
||||
]);
|
||||
$lock->destroy();
|
||||
|
||||
return;
|
||||
|
@ -115,7 +193,7 @@ function removeDeleteLog(): void
|
|||
}
|
||||
function checkForNews(): void
|
||||
{
|
||||
if (!checkoutUpdate('news_check_datetimegmt')) {
|
||||
if (! checkoutUpdate('news_check_datetimegmt', 'PT4H')) {
|
||||
feedbackAlert('Skipping news check');
|
||||
|
||||
return;
|
||||
|
@ -133,7 +211,7 @@ function checkForNews(): void
|
|||
}
|
||||
function checkForUpdates(): void
|
||||
{
|
||||
if (!checkoutUpdate('update_check_datetimegmt')) {
|
||||
if (! checkoutUpdate('update_check_datetimegmt', 'P1D')) {
|
||||
feedbackAlert('Skipping updates check');
|
||||
|
||||
return;
|
||||
|
@ -149,10 +227,15 @@ function checkForUpdates(): void
|
|||
}
|
||||
echoLocked($job);
|
||||
}
|
||||
function checkoutUpdate(string $datetimeSetting): bool
|
||||
function checkoutUpdate(string $datetimeSetting, string $past): bool
|
||||
{
|
||||
return is_null(Settings::get($datetimeSetting))
|
||||
|| datetime_add(Settings::get($datetimeSetting), 'P1D') < datetimegmt();
|
||||
$get = Variable::fetch($datetimeSetting);
|
||||
|
||||
return $get === null
|
||||
|| datetime_add(
|
||||
$get,
|
||||
$past
|
||||
) < datetimegmt();
|
||||
}
|
||||
function checkHtaccess()
|
||||
{
|
||||
|
|
|
@ -9,10 +9,10 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevereto\Legacy\getSetting;
|
||||
use function Chevereto\Legacy\cheveretoVersionInstalled;
|
||||
|
||||
if (getSetting('chevereto_version_installed') !== null) {
|
||||
if (cheveretoVersionInstalled() !== '') {
|
||||
echo "[ERROR] Chevereto is already installed, try with the update command\n";
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
require_once PATH_APP_LEGACY_INSTALL . 'installer.php';
|
||||
|
|
41
app/legacy/commands/js.php
Normal file
41
app/legacy/commands/js.php
Normal file
|
@ -0,0 +1,41 @@
|
|||
<?php
|
||||
|
||||
/*
|
||||
* This file is part of Chevereto.
|
||||
*
|
||||
* (c) Rodolfo Berrios <rodolfo@chevereto.com>
|
||||
*
|
||||
* For the full copyright and license information, please view the LICENSE
|
||||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
$workingDir = PATH_PUBLIC_CONTENT_LEGACY_THEMES_PEAFOWL_LIB;
|
||||
$target = 'chevereto-all.js';
|
||||
$outputFile = $workingDir . $target;
|
||||
echo "* Compile JavaScript\n";
|
||||
echo "---\n";
|
||||
$fh = fopen($outputFile, 'w');
|
||||
$files = [
|
||||
'js/css_browser_detector.js',
|
||||
'js/jquery.min.js',
|
||||
'js/jquery-ui.min.js',
|
||||
'js/hammer.min.js',
|
||||
'js/peafowl.js',
|
||||
'js/images-loaded.js',
|
||||
'js/load-image.js',
|
||||
'js/clipboard.js',
|
||||
'js/chevereto.js',
|
||||
];
|
||||
foreach ($files as $file) {
|
||||
$file = $workingDir . $file;
|
||||
if (! file_exists($file)) {
|
||||
echo "❌ [ERROR] Missing file: {$file}\n";
|
||||
exit(1);
|
||||
}
|
||||
echo "Packing: {$file}\n";
|
||||
fwrite($fh, file_get_contents($file) . "\n");
|
||||
}
|
||||
fclose($fh);
|
||||
echo "---\n";
|
||||
echo "💯 [OK] {$outputFile}\n";
|
||||
exit(0);
|
|
@ -9,9 +9,9 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevere\Filesystem\directoryForPath;
|
||||
use Chevereto\Legacy\Classes\L10n;
|
||||
use Chevereto\Legacy\G\Gettext;
|
||||
use function Chevere\Filesystem\directoryForPath;
|
||||
use function Chevereto\Legacy\G\unlinkIfExists;
|
||||
use function Chevereto\Legacy\get_available_languages;
|
||||
|
||||
|
@ -27,20 +27,20 @@ foreach ($languages as $lang) {
|
|||
$language_override_file = PATH_APP_LANGUAGES . 'overrides/' . $filename;
|
||||
$language_handling = [
|
||||
'base' => [
|
||||
'file' => $language_file,
|
||||
'cache_path' => L10n::PATH_CACHE,
|
||||
'table' => [],
|
||||
'file' => $language_file,
|
||||
'cache_path' => L10n::PATH_CACHE,
|
||||
'table' => [],
|
||||
],
|
||||
'override' => [
|
||||
'file' => $language_override_file,
|
||||
'cache_path' => L10n::PATH_CACHE_OVERRIDES,
|
||||
'table' => [],
|
||||
]
|
||||
'file' => $language_override_file,
|
||||
'cache_path' => L10n::PATH_CACHE_OVERRIDES,
|
||||
'table' => [],
|
||||
],
|
||||
];
|
||||
foreach ($language_handling as $k => $v) {
|
||||
$cache_path = $v['cache_path'];
|
||||
$cache_file = basename($v['file']) . '.cache.php';
|
||||
if (!file_exists($v['file'])) {
|
||||
if (! file_exists($v['file'])) {
|
||||
continue;
|
||||
}
|
||||
$cache = $cache_path . $cache_file;
|
||||
|
@ -51,9 +51,12 @@ foreach ($languages as $lang) {
|
|||
'cache_header' => $k == 'base',
|
||||
]);
|
||||
}
|
||||
echo "$lang\n";
|
||||
echo "{$lang}\n";
|
||||
if (file_exists($language_override_file)) {
|
||||
echo "{$lang} [override]\n";
|
||||
}
|
||||
}
|
||||
echo "---\n";
|
||||
echo L10n::LOCALES_AVAILABLE_FILEPATH . "\n";
|
||||
echo "💯 [OK] Languages re-cached\n";
|
||||
die(0);
|
||||
exit(0);
|
||||
|
|
|
@ -9,38 +9,38 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevere\String\randomString;
|
||||
use Chevereto\Legacy\Classes\Login;
|
||||
use Chevereto\Legacy\Classes\User;
|
||||
use function Chevere\Standard\randomString;
|
||||
|
||||
$opts = getopt('C:u:') ?: [];
|
||||
$missing = [];
|
||||
if (!isset($opts['u'])) {
|
||||
echo "[Error] Missing username" . "\n";
|
||||
die(255);
|
||||
if (! isset($opts['u'])) {
|
||||
echo '[Error] Missing username' . "\n";
|
||||
exit(255);
|
||||
}
|
||||
$password = randomString(24);
|
||||
$user = User::getSingle($opts['u'], 'username');
|
||||
if ($user === []) {
|
||||
echo "[Error] User not found" . "\n";
|
||||
die(255);
|
||||
echo '[Error] User not found' . "\n";
|
||||
exit(255);
|
||||
}
|
||||
$changed = Login::changePassword(
|
||||
userId: $user['id'],
|
||||
password: $password,
|
||||
update_session: false
|
||||
);
|
||||
if (!$changed) {
|
||||
if (! $changed) {
|
||||
// echo "[NOTICE] User doesn't have a password" . "\n";
|
||||
$added = Login::addPassword(
|
||||
userId: $user['id'],
|
||||
password: $password,
|
||||
update_session: false
|
||||
);
|
||||
if (!$added) {
|
||||
echo "[Error] Failed to add password" . "\n";
|
||||
die(255);
|
||||
if (! $added) {
|
||||
echo '[Error] Failed to add password' . "\n";
|
||||
exit(255);
|
||||
}
|
||||
}
|
||||
echo $password . "\n";
|
||||
die(0);
|
||||
exit(0);
|
||||
|
|
|
@ -9,21 +9,21 @@
|
|||
* file that was distributed with this source code.
|
||||
*/
|
||||
|
||||
use function Chevere\Type\getType;
|
||||
use Chevereto\Legacy\Classes\Settings;
|
||||
use function Chevere\Parameter\getType;
|
||||
|
||||
$opts = getopt('C:k:t::') ?: [];
|
||||
if (!isset($opts['k'])) {
|
||||
if (! isset($opts['k'])) {
|
||||
echo "[ERROR] Missing setting key\n";
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
if (!Settings::hasKey($opts['k'])) {
|
||||
if (! Settings::hasKey($opts['k'])) {
|
||||
echo "[ERROR] Setting key doesn't exists\n";
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
function toItalic(string $text): string
|
||||
{
|
||||
return "\e[3m$text\e[0m";
|
||||
return "\e[3m{$text}\e[0m";
|
||||
}
|
||||
$value = Settings::get($opts['k']);
|
||||
$echoValue = match (getType($value)) {
|
||||
|
@ -31,9 +31,9 @@ $echoValue = match (getType($value)) {
|
|||
'boolean' => toItalic($value ? 'true' : 'false'),
|
||||
default => $value,
|
||||
};
|
||||
echo "$echoValue\n";
|
||||
echo "{$echoValue}\n";
|
||||
if (isset($opts['t'])) {
|
||||
$typeset = Settings::getTypeset($opts['k']);
|
||||
echo "%($typeset)\n";
|
||||
echo "%({$typeset})\n";
|
||||
}
|
||||
die(0);
|
||||
exit(0);
|
||||
|
|
|
@ -14,24 +14,22 @@ use Chevereto\Legacy\Classes\Settings;
|
|||
$opts = getopt('C:v:k:') ?: [];
|
||||
$missing = [];
|
||||
foreach (['k', 'v'] as $opt) {
|
||||
if (!isset($opts[$opt])) {
|
||||
if (! isset($opts[$opt])) {
|
||||
$missing[] = $opt;
|
||||
}
|
||||
}
|
||||
if ($missing !== []) {
|
||||
echo "[Error] Missing -" . implode(' -', $missing) . "\n";
|
||||
die(255);
|
||||
echo '[Error] Missing -' . implode(' -', $missing) . "\n";
|
||||
exit(255);
|
||||
}
|
||||
if (!Settings::hasKey($opts['k'])) {
|
||||
if (! Settings::hasKey($opts['k'])) {
|
||||
echo "[ERROR] Setting key doesn't exists\n";
|
||||
die(255);
|
||||
exit(255);
|
||||
}
|
||||
/** @var int|string|null $value */
|
||||
$value = $opts['v'] ?? null;
|
||||
$typeset = Settings::getTypeset($opts['k']);
|
||||
if ($typeset === 'bool') {
|
||||
$value = (int) ($value == 1 || strtolower($value) === 'true');
|
||||
}
|
||||
Settings::update([$opts['k'] => $value]);
|
||||
Settings::update([
|
||||
$opts['k'] => $value,
|
||||
]);
|
||||
require 'setting-get.php';
|
||||
die(0);
|
||||
exit(0);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue