Coder Social home page Coder Social logo

in2code-de / femanager Goto Github PK

View Code? Open in Web Editor NEW
45.0 45.0 114.0 16.19 MB

Modern TYPO3 Frontend User RegistrationTYPO3 Frontend User Registration and Management based on Extbase and Fluid and on TYPO3 8 and the possibility to extend it to your needs. Extension basicly works like sr_feuser_register

Home Page: https://www.in2code.de/agentur/typo3-extensions/femanager/

PHP 75.28% HTML 14.96% JavaScript 3.79% Gherkin 3.34% Shell 1.58% SCSS 1.06%
frontend-users registration typo3 typo3-cms-extension

femanager's People

Contributors

baachi avatar bastilu avatar chludwig avatar dahaupt avatar danielsiepmann avatar derhansen avatar dhoffmann1979 avatar einpraegsam avatar felixranesberger avatar flolanger avatar fwg avatar koehnlein avatar mabolek avatar mavolkmer avatar moe2k avatar mv-gswsoft avatar neufeind avatar ntzrbtr avatar oliverklee avatar patta avatar peterkraume avatar pixeldesu avatar sbusemann avatar sebastianstein avatar spoonerweb avatar tantebootsy avatar tinzog avatar twojtylak avatar ute-arbeit avatar vertexvaar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

femanager's Issues

femanager 4.0 error opening a folder with BE modul

I'm using TYPO3 8.7.9 with femanager 4.0. I have all users in a folder. When I try to open this folder or any other folder with the femanager BE modul I get the error

Core: Exception handler (WEB): Uncaught TYPO3 Exception: #1509296606: Failed to fetch error page "https://www.mydomain.org/typo3/404.html"`, reason: Client error: GET https://www.mydomain.org/typo3/404.html resulted in a 404 Not Found response: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"> <html> <head> <meta http-equiv="Content-Type" content="text (truncated...) | RuntimeException thrown in file /html/typo3/typo3_src-8.7.9/typo3/sysext/frontend/Classes/Controller/TypoScriptFrontendController.php in line 2050. Requested URL: https://www.mydomain.org/typo3/index.php?M=web_FemanagerM1&moduleToken=b4884728928e4ef9f7032e79e8b2bc9897c75800&id=374&`

When I open a page with the Be module activated i can use 'Show all users from all pages (for administrators only)' and see the new list of all users.
I don't have any problems with femanager 3.3.0.

Add User in femanager-Backend

In TYPO3 Version 7.6.21 (femanager Version 2.6.0) and 8.7.4 (femanager Version 3.0.2) --> FE-Manager Backend --> I can't add a new User via "add"-Button in the Table.

In TYPO3 6.2.29 (femanager Version 1.5.2) add User in backend works nice.

Image upload not working

When I use Image field in user edit profile form and tries to submit with image inserted it says:

Argument 1 passed to In2code\Femanager\DataProcessor\ImageManipulation::getNewImageName() must be of the type array, string given, called in /usr/www/users/syuivz/dev-lifetimes/typo3conf/ext/femanager/Classes/DataProcessor/ImageManipulation.php on line 37

duplicated results in search in TYPO3 BE

In "frontend users" module in TYPO3 backend if you search for a user
you'll get multiple results for the same user.

How to reproduce:

  1. assign user to multiple usergroups
  2. search for him
  3. you will get as many results as he has usergroups assigned

Additionally the search with many users (130k) is quite slow. Is it possible to configure fields which are taken into account for searching?

Exception after Frontend 'Edit'

Hello there,

I downloaded the dev version since I'm working on a 8.7.4 page. We basically only need femanager for a change password dialog. After Saving the method 'getDirtyPropertiesFromUser' from UserUtility.php crashes in the final branch when calling ObjectUtility::implodeObjectStorageOnProperty for the property 'image'.

Since we only need to change the password, we simply added 'image' to the ignore array a few lines above, but I thought you might want to investigate anyway.

Greetings,
Manuel

Email subject not translated when confirming in BE-module

Strange issue:
When a new user registers using admin confirmation, all works well when the admin clicks the link in the email message to confirm the new account, but if the admin uses the BE-module to confirm it, the confirmation email has an untranslated subject ('Your registration was confirmed').

Strange thing is that the rest of the message is properly translated, so it maybe something with the TSFE environment not being fully initialized? The subject is a TS label (emailCreateUserNotifySubject) and does not get translated, while the Fluid template (message body) works fine.

ConfigurationManager returns no Settings in combination with flux extension

Hi,

when using femanager together with EXT:flux, I encountered the issue that, since flux registers a custom ConfigurationManager implementation, the Validators of femanager fail to receive their settings TS.

I know that this is not the fault of this extension, however I'd like to propose a PR, since I think changing this is correct regardless of the flux interaction.

Since the issue only occurs when CONFIGURATION_TYPE_FRAMEWORK is used (wich is weird ...) I think in those places where the only needed configuration are the settings anyway, we can simply aks for CONFIGURATION_TYPE_SETTING instead.

TYPO3 exception when trying to delete image

Hi,

I got a TYPO3 exception when trying to delete a image. Error message shown is:

The controller "User" is not allowed by plugin "Pi1". Please check for TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin() in your ext_localconf.php

I think it is a bug. Or is there anything I am doing wrong?

TYPO3: 8.7.7
femanager: 3.1.2

Regards
Benjamin

Uploading images to non-default fal-storage

I'm trying to get uploaded files to be stored into a file-storage different from fileadmin/ (to secure it with fal_securedownload).
Using a combined identifier like plugin.tx_femanager.settings.uploadFolder = 2:/profile_pictures/ does not work, probably because the code does not yet use the fal-storage api.

Are there plans on supporting that? Or is it possible to do this right now already?

Installation freezes

Installation freezes in a blank TYPO3 installation and destroys the access to the backend.

femanager 3.0.0
TYPO3 8.7.4
PHP: 7.0.21
MYSQL: 5.5.57
Browser: Firefox 54.0.1

Unable to "Login as" in backend and to "autologin" after registration

Scenario "Login as":
In the backend module when I click the "Login as" button in the desired user line it opens a new tab with the url: http://www.example.com/?eID=femanagerLoginAs&user=18
It then makes a 303 redirect in the new tab to http://www.example.com/ but does not log me in as the desired user.

Scenario "Autologin":
If I enable autologin via typoscript (plugin.tx_femanager.settings.new.login = 1) it also is not working.

Hacky solution
A really dirty hack which fixed the problem for me was to add the following lines to classes/Utility/UserUtility.php
$reflection = new \ReflectionClass($tsfe->fe_user);
$setSessionCookieMethod = $reflection->getMethod('setSessionCookie');
$setSessionCookieMethod->setAccessible(TRUE);
$setSessionCookieMethod->invoke($tsfe->fe_user);

after
$tsfe->fe_user->createUserSession($user);

Like it is described here:
https://forge.typo3.org/issues/62194#note-6

The strange thing is, that on my local MAMP environment it works without those 4 lines and on the production environment it did not.

Any idea how to resolve the error?

Kind regards,
David


System environment (Production)
TYPO3: 8.7.4
femanager: 3.1.1
PHP: 7.0.22-0ubuntu0.16.04.1

System environment (Development)
TYPO3: 8.7.4
femanager: 3.1.1
PHP: 7.0.20

Problem in flex form

I use the devlop source with typo3 8.7.3 and php 7. when i try to set the view in the contentelement i got the error:
Uncaught TYPO3 Exception
#1476107295: PHP Warning: Illegal string offset 'switchableControllerActions' in /kunden/180927_90429/typo3_src_8LTS/typo3/sysext/core/Classes/DataHandling/DataHandler.php line 3110 (More information)

TYPO3\CMS\Core\Error\Exception thrown in file
/kunden/180927_90429/typo3_src_8LTS/typo3/sysext/core/Classes/Error/ErrorHandler.php in line 112.

the solution for me was to change
<T3DataStructure> <meta> <langDisable>1</langDisable> </meta> <sheets> <main>
to
<T3DataStructure> <meta> <langDisable>1</langDisable> </meta> <sheets> <sDEF>

and set it in all displayCond
<displayCond><![CDATA[FIELD:sDEF.switchableControllerActions:=:New->new;New->create;New->createStatus;New->confirmCreateRequest;]]></displayCond>

Bugfix: validateRequired($value) returns false if value = 0

I had a Selectbox with Option Value 0 and Field is required. I choose this Option then i get
"Dies ist ein Pflichtfeld"
But that`s not right cause the Field is selected.
Reason is in AbstractValidator.php

protected function validateRequired($value) {
if (!is_object($value)) { 
            return !empty($value);
 } elseif (count($value)) { 
            return true; 
        } 
}

I have changed this to

if (!is_object($value)) {
                
            if (empty($value) === TRUE && strlen($value) == 0) {
                return !empty($value);
            } else {
                return true;
            }
            
        } elseif (count($value)) {
            return true;
}

With my Changes the Required Field Message is not there when i choose the Option with value = 0. That`s the expected behaviour.
The Validation of the other Fields is correct also.
If this is i good Idea, then take into your Code ;-)

Best Regards

Bernd

Image required not working

Hi and thx for the great femanager!

If I set image field as required, I get a message (serverside: Field Image is required) even if I uploaded an image.
If I unset required on image field and upload an image, everything works fine.

Any hints?

'0' Number not pass `required` option.

For example if I want to make gender or some other field field as select box and have 0 value for male and 1 for female.

Because of bug I can't set gender field as required, because male selection doesn't pass required validation.

https://github.com/in2code-de/femanager/blob/develop/Classes/Domain/Validator/AbstractValidator.php#L58
It's because empty($var) function return false if $var = 0 or $var = '0'

So I think something like this will solve the issue

protected function validateRequired($value)
    {
        if (!is_object($value)) {
            if (is_numeric($value)) {
                return true;
            }
            return !empty($value);

        } elseif (count($value)) {
            return true;
        }
        return false;
    }

No notification to user after admin confirms registration

TYPO3 8.7.10
femanager 4.1.1

the confirmation-mail (double-opt-in) is sent to the user,
and also the mail to the admin.
But after the admin confirms the registration of the user, there is no email to the user to let him know that his confirmation is accepted and noch active.

TYPO3 8.7.7 - error messages

Hi,
The css for the error messages no longer works. For example, the file main.min.css contains references to the sysext/t3skin which no longer exists.

Regards
Hobokens

femanager 2.6 Typo3 7.6 error after create - sendmail

In a typo3 7.6 configuration (t3bootstrap.de) the create user form fails after pressing submit with the following error:

Uncaught TYPO3 Exception
Call to a member function start() on null 

Error thrown in file
/html/typo3/typo3conf/ext/femanager/Classes/Domain/Service/SendMailService.php in line 82.

Debug output shows that $this->cObj = $this->configurationManager->getContentObject(); is null.

The create/registration works with femanager 4.0.1 works, but there would be no typo3 7 compatibility.
There are other typo3 8 incompatible extensions, that does not allow an update to 8.6.

[FEATURE] HTML5 Validation

The current state of the Field-Partials does not allow for any HTML-5 validation out of the box (one can always override the partials of course).

Do you want such a feature?

An implementation for required and email, should be fairly easy (I could provide a PR).

However a full implementation of all capabilitties of HTML5 fomrfield validation would be a greater task, I guess.

Make "Show action" as non cacheable controller action

In the frontend plugin I have selected the view "Detail" and as User to show "Logged in FE User".

I get always the same user data, although I log me in with different frontend users.

Should the action "Show" be defined as non cacheable controller action in ext_localconf.php?

Invitation, period of validity?

Users can repeatedly use the link from a invitation and set the password again and a disabled user is reactivated.

Is it possible to determine the duration of an invitation?
Is it possible to invalidate (delete?) the invitation after the password has been set?

Thx for any hint.

additional filters in search form

We added an additional field 'topics' to the table fe_users by a custom extension. This field can hold a comma separated list of integers.
Now we would like to add an additional filter to the search form.
The filter should be a dropdown menu to select one of the predefined 'topics'.
The search should consider the seleted 'topic'-value and restrict the search result list of users accordingly.
Is this possible?
And if yes, how to do it?
Thanks in advance for the advice.

Sender name for user notification email not set correctly

There's a small bug that makes it impossible to set the sender name for the notification mail that is sent to users after their profile has been confirmed.

In AbstractController.php line 281 it says

$this->settings['settings']['new']['email']['createUserNotify']['sender']['name']['value']

This should probably be

$this->settings['new']['email']['createUserNotify']['sender']['name']['value']

Detail View: Show only FE-User from special Directory - is it possible?

Hi Alex.

I'm using femanager 2.6.0, because my Website is still running with TYPO3 CMS 7.6.
I have imported a lots of users via LDAP. F.e. in folder '20' are 10.000 FE-Users, folder '21' have 8.000 FE-User... and I also use Ext: seminars with temp. fe-users (Ext: onetimeaccount) ... my fe_users will be increase ...

I'm insert the femanager-Plugin > detail view > select/option field with more than >18.000 Users. But I also select the 'Storrage folder 20', not recursive - but all fe-users will shown ...

Maybe you've fix this in newer versions, I don't know.
How can I show my fe_users in Flexform from folder xy only? Is this possible? Thanks for your help.

fe_manager1

BE module incompatible with 404 handling

The user list BE module will be replaced by a 404 page for sysfolders if either of the following is the case:

  • the user installed the extension "pagenotfoundhandling" or similar
  • the install tool setting "[FE][pageNotFound_handling]" is set (e.g. to 1)

This is related to issue #45. Apparently just catching exceptions is not enough to detect sysfolders.

Test setup: TYPO3 8.7.9, femanager 4.1.0 from TER, (optionally) pagenotfoundhandling 2.4.5, PHP 7.1

Issue overriding admin email settings

Upgraded to newest FEManager on newest Typo3 yesterday.
(Typo3 8.7.10 & FEManager V 4.1.1)

Added/Updated admin mail settings in Constants AND (for testing) Setup TypoScript, but they never get applied.

plugin.tx_femanager.settings.adminName = ...
plugin.tx_femanager.settings.adminEmail = ...

I always get sender Femager with mail [email protected].
Cleared all caches, even opcache.

Has anybody the same issue?

Notification for user

Hey a great work!
But there is some thing I miss. I want to implement the admin confirmation process. These steps are possible:

  1. The user creates a account
  2. The user gets an email and confirm the account with the link
  3. The admin gets an email for the registration and confirm the account with the link
  4. The admin gets an Email that the registration is confirmed

But who notifys the user that his account is now ready? Is there a possibility to send the user an notification email at the end of this process?

Geetings
Niklas

After installation, i get this error

After the installation via extension manager i get following error:
Class 'In2code\Femanager\Domain\Model\Log' not found

If I download the femanager 3.0.1 manually and upload it, I get following error:
unserialize() expects parameter 1 to be string, null given

PHP: 7.0.21
T3: Typo3 8.7.4
OPcache: 7.0.21

If i tried to delete the cache in install tool, i get the same error.

Error "profile has been deleted" when trying to confirm registration by user

We use femanager 1.5.0 in TYPO3 6.2.10, our website is:
http://www.nse.ch/interner-bereich/nse-ag-login/

In several cases, it has been observed that new users cannot confirm their registration. The error message below is displayed. We have set 'to be confirmed by user' = 1 and 'to be confirmed by admin' = 0.
When we look at the affected records in the data table 'fe_users', the flags 'disable' and 'deleted' are both set to 1. This might be an indication for the cause of the problem.
2017-12-05 15_37_53-wg_ bitte bestatigen sie ihre profil-registrierung - nachricht html

The way we had worked around this problem, was to create the user in the backend. Unfortunately, we cannot upgrade TYPO3 to version 7.x or 8.x at the moment.

TYPO3 exception after changing uploadFolder path

Hi,

I changed the uploadFolder path of the extension to uploads/pics/ and now I get the error:

#1314516809: File /uploads/pics/somefilename.jpg/ does not exist.

There is a trailing slash at the end. Is it a bug or a wrong configuration of htaccess file? Normal images with jpg format could be loaded without trailing slash.

TYPO3: 8.7.7
femanager: 3.1.2

Regards
Benjamin

cannot read / manipuly fields from typoscript before saving

I want to let the user decide on their usergroup(s) as well as have them in one particular group as well. I thought using forceValues and building the usergroups from the user selection + my standard usergroup like this:

plugin.tx_femanager.edit.forceValues {
      beforeAnyConfirmation {
        usergroup = COA
        usergroup {
          10 = TEXT
          10.value = 1,
          20 = TEXT
          20.field = usergoup
        }
      }
    }

But I cannot access the field value here it seems. Is this on purpose?

TYPO3 8.7.10, femanager 4.1.1

edit: I also tried to approach this through edit.storeInDatabase.fe_users but was not successfull

Crushed Session data on registration

If I'm right, there is a conflict between typo3 sessionData storage methods and registration autologin option in femanager.

It seems like login() function of UserUtility crushes existing sessionData seted and geted with the standard methods below
$GLOBALS["TSFE"]->fe_user->setKey('ses', 'theValueIWantBeforeAndAfterRegistration', $value);
$GLOBALS["TSFE"]->fe_user->getKey('ses', 'theValueIWantBeforeAndAfterRegistration');

But when Login() is called, the fetchUserSession() [L314 in UserUtility] method erases existing data.

The goal is to use femanager extension to create an account and do autologin just before payment page (shop&basket system for example).

Re-Send Double Opt-in Mail

Sometimes the double opt in mails are regarded as spam. Then the account record was created but is in an unconfirmed state. Currently there is no way to get out of this state since the user cannot delete his account nor can he trigger resending the confirmation mail.

Thus, it would be very handy if the extension could offer a functionality to re-send a confirmation mail. An option to disable this functionality might be handy to address legal concerns.

`lettersOnly` Validation failes with umlauts

Version 2.6.0
Typo 7.6.21

plugin.tx_femanager.settings.new.validation.[field].lettersOnly = 1 does not successfully validate, when input contains German umlauts. Names like Günther Müller are not successfully validated, but get an error message like "only letters are allowed". Please consider to respect umlauts within lettersOnly serverside validation.

Autologin does not work

femanager 4.1.1
typo3 8.7.9

I included the default TypoScript with no further adjustments. After confirming the link in the mail the user is activated and \In2code\Femanager\Controller\AbstractController::loginPreflight is executed fully.

Problem is the missing "Set-Cookie" header, which is not done via \TYPO3\CMS\Frontend\Authentication\FrontendUserAuthentication::createUserSession()

and should be done before according to its description...

Calling

        if (!$tsfe->fe_user->isCookieSet()) {
            $tsfe->fe_user->start();
        }

before createUserSession() does not seem to work, hm..

femanager 2.6 Typo 7.6.23 | Call to a member function start() on null --> SendMailService.php in line 82

Hi, i try to install the femanager 2.6 to Typo 7.6.23 and php 7. I creat a registration site, so far eyery think Looks good. When i try to add a new user and send the Formular it always run into the same error "Call to a member function start() on null

Error thrown in file
/datar5/var/www/TYPO3/medical/stage_medi_at/typo3conf/ext/femanager/Classes/Domain/Service/SendMailService.php in line 82."

Google this error only brings up two pages with the same behavior, unfortunately no answer.
https://www.typo3.net/forum/thematik/zeige/thema/126551/
http://www.typo3forum.net/discussion/81025/femanager-fehler-bei-registrierungsmail
Need Help :lächeln:
The good News are the new user is created in the Backend so maybe it is only a email configuration think.

Validation broken in 2.6.1 :: AbstractValidator

We had to alter the following code in the AbstractValidator to make all settings available:

femanager/Classes/Domain/Validator/AbstractValidator.php
protected function init()

from:
[...]
$config = $this->configurationManager->getConfiguration(
ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK
);
[...]

to
[...]
$config = $this->configurationManager->getConfiguration(
ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK,
'Femanager',
'Pi1'
);
[...]

An alternative would be to use the CONFIGURATION_TYPE_SETTINGS constant and then change the last line in the init() function:

from:
$this->validationSettings = $config['settings'][$controllerName][$validationName];
to:
$this->validationSettings = $config[$controllerName][$validationName];

I think the latter solution is already included in the current develop branch.

Cannot set termsUrl

When I set the termsUrl to a page uid, the settings.misc.termsUrl value is empty. This happens also, when I set the value in steup.txt of extension folder.

PHP 7+ problem with version 2.6.1

The PHP dependency for the PHP-version 2.6.1 of the extension is 5.5.0-7.99.99, but there is a PHP 7 syntax used in class Classes/Utility/ObjectUtility.php.
I attached a patchfile for this problem, because the extension is not usable at the moment with PHP < 7.

<+>UTF-8
===================================================================
--- htdocs/typo3conf/ext/femanager/Classes/Utility/ObjectUtility.php
+++ htdocs/typo3conf/ext/femanager/Classes/Utility/ObjectUtility.php
@@ -107,7 +107,7 @@
     /**
      * @return ContentObjectRenderer
      */
-    public static function getContentObject(): ContentObjectRenderer
+    public static function getContentObject()
     {
         return self::getObjectManager()->get(ContentObjectRenderer::class);
     }


jQuery error

As already reported in TYPO3 forge, there is an error in the JS. When loading the page femanager is included on, the console outputs the error "$ is not a function". $ should be passed as parameter in jQuery(document).ready or initialized as variable in Validation.js and for createUploader() in Femanger.js

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.