[TYPO3-german] femanager - endtime vorbelegen

Mario Batz BatzMario at gmx.net
Wed Aug 24 07:40:05 CEST 2016


Hallo,

habs gefunden ...

endtime kann nicht gesetzt werden, weil in der FrontendUtility.php folgendes
steht:
/*************************************************************************/
   public static function forceValues(User $user, array $settings)
    {
        foreach ((array) $settings as $field => $config) {
            $config = null;
            if (stristr($field, '.')) {
                continue;
            }
            // value to set
            $value =
self::getContentObject()->cObjGetSingle($settings[$field], $settings[$field
. '.']);
            if ($field === 'usergroup') {
                // need objectstorage for usergroup field
                $user->removeAllUsergroups();
                $values = GeneralUtility::trimExplode(',', $value, true);
                $userGroupRepository = self::getUserGroupRepository();

                foreach ($values as $usergroupUid) {
                    /** @var UserGroup $usergroup */
                    $usergroup =
$userGroupRepository->findByUid($usergroupUid);
                    $user->addUsergroup($usergroup);
                }
            } else {
                // set value
                if (method_exists($user, 'set' . ucfirst($field))) {
                    $user->{'set' . ucfirst($field)}($value);
                }
            }
        }
        return $user;
    }
/*************************************************************************/


Es wird geprüft, ob es die Methode "setEndtime" gibt, und diese fehlt:
/*************************************************************************/
if (method_exists($user, 'set' . ucfirst($field))) {
                    $user->{'set' . ucfirst($field)}($value);
/*************************************************************************/


Ich hab nun in der "User.php" die fehlenden Eigenschaften und Methoden
angelegt, nun funktioniert es.
Das Enddatum wird nun pauschal +14 Tage gestezt.
/*************************************************************************/
     /**
     * endtime
     *
     * @var \DateTime
     */
    protected $endtime;



    /**
     * @param \DateTime $endtime
     * @return User
     */
    public function setEndtime($endtime,$days = 14)
    {
    	$this->endtime = strtotime(date("Y-m-d",$endtime) . " +$days day");
    	return $this;
    }
    
    /**
     * @return \DateTime
     */
    public function getEndtime()
    {
    	return $this->endtime;
    }
/*************************************************************************/
MfG
Mario Batz





More information about the TYPO3-german mailing list