I never thought I'd want signatures because I don't like seeing them in every single reply. This may have been mentioned above but I'm not seeing it, and so... Does this have any setting to make it so that the signature is only shown in the first post (topic starter)? If not, is this even possible to add eventually?
Flarum Signature
- Edited
katos working on it but really struggling with the permissions. Always open for PRs for assistance though. I’m short on time currently but hoping to sit down and dive into it properly ASAP
I admire anyone with the skills to write great extensions, I certainly don't have them. It will be excellent if you can round this off with these 2 essential functions.
The following error happens after deleting an user at FreeFlarum (ref.):
TypeError: Cannot read properties of undefined (reading 'attributes')
at e.<anonymous> (index.js:28:50)
at e.forEach.t.<computed> [as view] (extend.js:35:16)
at Function.a (render.js:30:16)
at render.js:155:45
at render.js:160:3
at l (render.js:66:8)
at u (render.js:50:5)
at render.js:134:5
at l (render.js:63:14)
at u (render.js:50:5)
Source:
PHP Flarum info (with Signature extension disabled):
Flarum core 1.1.1
PHP version: 8.0.9
MySQL version: 5.5.5-10.6.3-MariaDB-1:10.6.3+maria~focal
Loaded extensions: Core, date, libxml, openssl, pcre, zlib, filter, hash, json, pcntl, Reflection, SPL, session, standard, sodium, mysqlnd, PDO, xml, calendar, ctype, curl, dom, mbstring, FFI, fileinfo, ftp, gd, gettext, gmp, iconv, intl, exif, mysqli, pdo_mysql, Phar, posix, readline, shmop, SimpleXML, sockets, sysvmsg, sysvsem, sysvshm, tokenizer, xmlreader, xmlwriter, xsl, Zend OPcache
+---------------------------------+---------+--------+
| Flarum Extensions | | |
+---------------------------------+---------+--------+
| ID | Version | Commit |
+---------------------------------+---------+--------+
| flarum-flags | v1.1.0 | |
| flarum-tags | v1.1.0 | |
| flarum-lock | v1.1.0 | |
| flarum-sticky | v1.1.0 | |
| flarum-markdown | v1.1.1 | |
| flarum-suspend | v1.1.0 | |
| flarum-approval | v1.1.0 | |
| v17development-seo | v1.8.0 | |
| v17development-blog | 0.4.2 | |
| the-turk-stickiest | 2.0.3 | |
| sycho-profile-cover | v1.3.0 | |
| migratetoflarum-canonical | 1.0.0 | |
| michaelbelgium-discussion-views | v7.1.1 | |
| matteocontrini-imgur-upload | v3.9.1 | |
| justoverclock-newsfeed | 1.0.1 | |
| fof-user-directory | 1.2.0 | |
| fof-user-bio | 1.0.1 | |
| fof-sitemap | 1.0.2 | |
| fof-profile-image-crop | 1.0.1 | |
| fof-polls | 1.0.5 | |
| fof-pages | 1.0.1 | |
| fof-nightmode | 1.1.5 | |
| fof-links | 1.0.3 | |
| fof-linguist | 1.0.3 | |
| fof-forum-statistics-widget | 1.0.2 | |
| fof-default-user-preferences | 1.0.0 | |
| fof-cookie-consent | 1.0.1 | |
| fof-byobu | 1.1.0 | |
| fof-bbcode-details | 1.0.0 | |
| fof-ban-ips | 1.0.0 | |
| fof-analytics | 1.0.0 | |
| flarum-subscriptions | v1.1.0 | |
| flarum-statistics | v1.1.0 | |
| flarum-mentions | v1.1.3 | |
| flarum-likes | v1.1.0 | |
| flarum-lang-english | v1.1.0 | |
| flarum-lang-dutch | v1.0 | |
| flarum-emoji | v1.1.1 | |
| flarum-bbcode | v1.1.0 | |
| clarkwinkelmann-group-list | 1.0.0 | |
| clarkwinkelmann-emojionearea | 1.0.0 | |
| clarkwinkelmann-author-change | 1.0.2 | |
| askvortsov-pwa | v3.1.1 | |
| askvortsov-moderator-warnings | v0.6.1 | |
| askvortsov-discussion-templates | v0.8.3 | |
| askvortsov-categories | v3.0.4 | |
| acpl-mobile-tab | 1.0.5 | |
+---------------------------------+---------+--------+
Base URL: https://www.xxx.nl
Installation path: /data/host/xxx/app
Queue driver: sync
Mail driver: log
Debug mode: off
Equinemarkt might be able to provide more information regarding this issue(?). Thanks
m4v3rick I’m going to be honest, I’ve not had chance to look at all lately. We’re undergoing huge changes at work and I’m transitioning into an entirely new role. It’s been rather manic but I’m hoping that it’ll settle down soon enough for me to take a peek.
Apologies for the delays
how can i disable signature function for specific user group?
i mean i want to enable only for admin and moderator
Zedd I'm getting the same error. Eventually managed to install it with
composer require katosdev/signature:*
But now I'm on 1.1.3 version and can't update it on 1.2
When I try with : composer update katosdev/signature:2.1 -W
I'm getting this error
Problem 1
- Root composer.json requires katosdev/signature *, 2.1, found katosdev/signature[dev-master, 1.0.0, ..., 1.2] but it does not match the constraint.
Can you add permissions so that only certain groups can add signs?
HasanMerkit as already mentioned, this feature is a work in progress as I attempt to fit in the updates around my work.
The extension is opensource and I encourage any PRs to assist with pushing this feature request along
How hard would it be to add a setting to disable the editor? Believe it or not, I want plain text signatures only.
Trick if you only want signatures to show in first post. It's a cleaner option so that the user's crazy signature (if crazy - with a lot of text, links, and images) is at least only shown once per thread.
/* Signature - first post only */
.PostStream-item[data-index="0"] .SignatureWrapper {
display: block;
}
.PostStream-item .SignatureWrapper {
display: none;
}
- Edited
Just realized the latest version of this won't install for me. I'm stuck on an old version. When trying to install the latest I get:
Problem 1
- Root composer.json requires katosdev/signature ^1.2 -> satisfiable by katosdev/signature[1.2].
- katosdev/signature 1.2 requires symfony/css-selector ^6.0.2 -> found symfony/css-selector[v6.0.2, v6.0.3] but the package is fixed to v5.4.3 (lock file version) by a partial update and that version does not match. Make sure you list it as an argument for the update command.
I'm not good enough with composer commands to know what to do...
- Edited
katos Well, turns out that is part of the problem, but I'm realizing it all goes back to the fact that my host's command line interface is stuck at using php 7.4.28. They gave me a command to run to use php 8+, but it doesn't work. I'm going to chat with them again to figure out how to do these composer updates with php 8+.
30 minutes later...
I found the command that works with my host to force php8+ usage. I now have the latest version of this extension installed.
katos Alternatively you can have images, I am working on a feature to deny images / code etc for specific groups.
Yes, a list of activate/deactivate option like that would be great (allow/deny image, how much links allowed, max character limit, enable or not different font size...) as well as hiding the related buttons of deactivated options in the signature writing box.
Any updates on the security (e.g. user groups) or plain text requests?
Ahh I see the extension is not following SRI and therefore breaks integrity checks. Anyone know what scripts are loading unsecured?
- Edited
katos If just we had an option to hide or show signatures from guest that would be nice!
Sometimes users just use signature to spam links and getting backlinks. So if we don't display signature to guests and google, there is no problem for SEO. Only logged in users are enough to see signatures.
Do you think you can add this option to set who can see signatures in forum?
I think this can make this extension more usable.
Thanks for developing this extension.
I want to translate the following screenshot. However, I could not find related item in FoF Linguist. Nor could I find the related part in the source code. I really need some help here.
Thanks.
- Edited
Hi, I found another issue with this extension. I am not sure if happens to others too or not.
The little icon of the signature is not showing up on my Android phone. Here is a screenshot:
Can anyone please tell me what does "target" mean in the "insert link" window?
Here is a screenshot:
Hi,
Just installed this extension to migrate users' signatures from another forum and noticed that if you open a users public profile, the URL for "Signature" is not correct, it's pointing to /settings/signature
instead of something like /u/4/signature
. When viewing as admin it actually opens an empty multiline text edit box.
- Edited
Hi, I been using this extension for some time.
Now, users cannot add new signature.
Is the following error related to the above issue?
[2023-07-05 10:41:17] flarum.ERROR: ParseError: syntax error, unexpected token ")" in /home/hrjh/public_html/flarum/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php:65
Stack trace:
#0 /home/hrjh/public_html/flarum/vendor/composer/ClassLoader.php(428): Composer\Autoload\includeFile('/home/hrjh/publ...')
#1 /home/hrjh/public_html/flarum/vendor/symfony/css-selector/XPath/Translator.php(56): Composer\Autoload\ClassLoader->loadClass('Symfony\Compone...')
#2 /home/hrjh/public_html/flarum/vendor/symfony/css-selector/CssSelectorConverter.php(40): Symfony\Component\CssSelector\XPath\Translator->construct()
#3 /home/hrjh/public_html/flarum/vendor/symfony/dom-crawler/Crawler.php(1201): Symfony\Component\CssSelector\CssSelectorConverter->construct(true)
#4 /home/hrjh/public_html/flarum/vendor/symfony/dom-crawler/Crawler.php(740): Symfony\Component\DomCrawler\Crawler->createCssSelectorConverter()
#5 /home/hrjh/public_html/flarum/vendor/katosdev/signature/src/Validation/ValidateSignature.php(35): Symfony\Component\DomCrawler\Crawler->filter('img')
#6 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/RouteHandlerFactory.php(41): katosdev\Signature\Validation\ValidateSignature->handle(Object(Laminas\Diactoros\ServerRequest))
#7 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/ExecuteRoute.php(27): Flarum\Http\RouteHandlerFactory->Flarum\Http{closure}(Object(Laminas\Diactoros\ServerRequest), Array)
#8 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ExecuteRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Closure))
#9 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Api/Middleware/ThrottleApi.php(33): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#10 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\ThrottleApi->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#11 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/CheckCsrfToken.php(44): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#12 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\CheckCsrfToken->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#13 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/ResolveRoute.php(69): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#14 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ResolveRoute->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#15 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/SetLocale.php(51): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#16 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\SetLocale->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#17 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithHeader.php(58): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#18 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithHeader->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#19 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithSession.php(31): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#20 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\AuthenticateWithSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#21 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/RememberFromCookie.php(52): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#22 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\RememberFromCookie->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#23 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/StartSession.php(61): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#24 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\StartSession->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#25 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(29): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#26 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Api\Middleware\FakeHttpMethods->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#27 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(28): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#28 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ParseJsonBody->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#29 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/HandleErrors.php(57): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#30 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\HandleErrors->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#31 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/InjectActorReference.php(25): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#32 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\InjectActorReference->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#33 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#34 /home/hrjh/public_html/flarum/vendor/middlewares/request-handler/src/RequestHandler.php(84): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#35 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\RequestHandler->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#36 /home/hrjh/public_html/flarum/vendor/middlewares/base-path-router/src/BasePathRouter.php(101): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#37 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePathRouter->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#38 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Middleware/OriginalMessages.php(36): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#39 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Laminas\Stratigility\Middleware\OriginalMessages->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#40 /home/hrjh/public_html/flarum/vendor/middlewares/base-path/src/BasePath.php(73): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#41 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Middlewares\BasePath->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#42 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Middleware/ProcessIp.php(24): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#43 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/Next.php(49): Flarum\Http\Middleware\ProcessIp->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\Next))
#44 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(75): Laminas\Stratigility\Next->handle(Object(Laminas\Diactoros\ServerRequest))
#45 /home/hrjh/public_html/flarum/vendor/laminas/laminas-stratigility/src/MiddlewarePipe.php(64): Laminas\Stratigility\MiddlewarePipe->process(Object(Laminas\Diactoros\ServerRequest), Object(Laminas\Stratigility\EmptyPipelineHandler))
#46 /home/hrjh/public_html/flarum/vendor/laminas/laminas-httphandlerrunner/src/RequestHandlerRunner.php(73): Laminas\Stratigility\MiddlewarePipe->handle(Object(Laminas\Diactoros\ServerRequest))
#47 /home/hrjh/public_html/flarum/vendor/flarum/core/src/Http/Server.php(45): Laminas\HttpHandlerRunner\RequestHandlerRunner->run()
#48 /home/hrjh/public_html/flarum/public/index.php(26): Flarum\Http\Server->listen()
#49 {main}
Flarum information
Sorry, I cannot provide that information for now.
when I upgrade flarum, here was one of the problems listed:
Problem 2
- symfony/css-selector[v6.0.0, ..., v6.0.19] require php >=8.0.2 -> your php version (7.4.33) does not satisfy that requirement.
- symfony/css-selector[v6.1.0, ..., v6.2.7] require php >=8.1 -> your php version (7.4.33) does not satisfy that requirement.
when I run composer why symfony/css-selector command
It says:
katosdev/signature 1.2 requires symfony/css-selector (^6.0.2)
tijsverkoyen/css-to-inline-styles 2.2.6 requires symfony/css-selector (^2.7 || ^ 3.0 || ^ 4.0 || ^ 5.0 || ^ 6.0 )
If you need to login and check:
user:guest
email: free123@gmail.com
password:12345678
Acutally, I am using 8.0 now.
Can we add limitations to signatures? Some users accidentally added large image and it's kind of disruptive. Also it would be good if we can limit text characters and no images. Thanks
Apologies for the issues that people are having with this extension.
I honestly truly never expected the extension to be so popular when I revived it, and sadly had previously not had the time to dedicate to it.
I am pleased to announce though that this weekend I will be kick-starting a revamp of this extension and working on updating and introducing features!
Keep your eyes peeled for further announcements!
This extension has unexpectedly multifunctional features for traditional forum.
Version 1.3 Released 
- Updated to fix crash on posts with deleted users (thanks to @askvortsov !)
- Updated language file to fix descriptions (thanks to @meskobalazs !)
- Migrated to a new repository structure.
- Began issue tracking: https://github.com/katosdev/signature/issues
- Began work on refactoring.