Re: [TYPO3-german] Überprüfung ob Seite für User erlaubt ist

2017-02-04 Diskussionsfäden Dr. Dieter Porth

Hi,

eigentlich wollte ich nur nachtragen, dass man bei einer allgemeinen 
Version sich beim Viewhelper strukturell am Case-Viewhelper erientieren 
sollte. Dann könnte man je nach User einen Partial-Switch ausführen.


Jetzt stelle ich fest, dass die Formatierung für den PHP-Code richtig 
zerschossen wurde.


Ich vermute, dass sich ein Programm am fehlenden schließenden aufhing.

Ich wage deshalb einen zweiten Versuch

Dieter

/*** * 
Copyright notice * * (c) 2016 Dr. Dieter Porth , private 
* * All rights reserved * 
***/ use 
TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface; use 
TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use 
TYPO3\CMS\Fluid\Core\ViewHelper\Facets\CompilableInterface; class 
BurkaViewHelper extends AbstractViewHelper { const 
POSITIONER_UTILITY_BE_USER_IS_LOGGIN = 'login_be'; const 
POSITIONER_UTILITY_BE_USER_IS_ADMIN = 'admin_be'; /** * checks the 
status of the status of current user * * @param string $status the 
required status of current user * @param string $data data overwrite the 
childrens-content - assigned only for inline-style * @return bool|string 
*/ public function render($status, $data = null) { if ($data === null) { 
$data = $this->renderChildren(); } if (!$data) { return false; } switch 
($status) { case self::POSITIONER_UTILITY_BE_USER_IS_ADMIN: if 
(is_object($GLOBALS['BE_USER'])) { 
if($GLOBALS['BE_USER']->extAdmEnabled) { return $data; } } break; case 
self::POSITIONER_UTILITY_BE_USER_IS_LOGGIN: if 
(is_object($GLOBALS['BE_USER'])) { return $data; } break; } return 
false; } } ?>




Am 04.02.2017 um 09:44 schrieb Dr. Dieter Porth:

Hallo Stefan, Hallo Andrea,

Wenn du eine Allgemeine Lösung haben möchtest, würde die Abfrage in 
einen Viewhelper auslagern und die Anzeige kapseln. Denn die Frage 
nach der Berechtigung ist ja 'unabhänngig' von der Frage der 
Datenausgaben.  In einem Projekt sieht mein Viewhelper so aus.


=== 



/*** * 
Copyright notice * * (c) 2016 Dr. Dieter Porth , 
private * * All rights reserved * 
***/ use 
TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface; use 
TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use 
TYPO3\CMS\Fluid\Core\ViewHelper\Facets\CompilableInterface; class 
BurkaViewHelper extends AbstractViewHelper { const 
POSITIONER_UTILITY_BE_USER_IS_LOGGIN = 'login_be'; const 
POSITIONER_UTILITY_BE_USER_IS_ADMIN = 'admin_be'; /** * checks the 
status of the status of current user * * @param string $status the 
required status of current user * @param string $data data overwrite 
the childrens-content - assigned only for inline-style * @return 
bool|string */ public function render($status, $data = null) { if 
($data === null) { $data = $this->renderChildren(); } if (!$data) { 
return false; } switch ($status) { case 
self::POSITIONER_UTILITY_BE_USER_IS_ADMIN: if 
(is_object($GLOBALS['BE_USER'])) { 
if($GLOBALS['BE_USER']->extAdmEnabled) { return $data; } } break; case 
self::POSITIONER_UTILITY_BE_USER_IS_LOGGIN: if 
(is_object($GLOBALS['BE_USER'])) { return $data; } break; } return 
false; } } 
== 
Im Template/Partial sieht es dann so aus: 
==


http://typo3.org/ns/TYPO3/Fluid/ViewHelpers; 
xmlns:porth="http://typo3.org/ns/Porth/Positioner/ViewHelpers; >






Auszug aus Partial
status:'admin_be',
data:' 
data-fieldid=",{symParams.ridSymmetryFilpHorizontal},{symParams.ridSymmetryFilpVertical},{pictureParams.ridPicturePicture},{positionParams.ridPositionHorizontal},{positionParams.ridPositionVertical},{positionParams.ridPositionenZIndex},{positionParams.ridPositionMeasure},{dimensionParams.ridDimensionWidth},{dimensionParams.ridDimensionHeight},{dimensionParams.ridDimensionDimensionType},{dimensionParams.ridDimensionMeasure},"'

  )}

>
Allgemein sichtbar


  wird nur dem Admin gezeigt, der hier im Frontend 
einen Comic stylen darf






= 



Ich hoffe, dass TYPO3 baldd mit einem allgemeinen Viewhelper sein 
Rechtemanagment auf Template-Ebene optimiert.


Mit den Anmerkungen von Stefan könntest du also schnell den Viewhelper 
oben für deine Ansprüche erweitern. Vielleicht mast du ihn auch hier 
veröffentlichen? Mit besten Grüßen  Dieter

Am 04.02.2017 um 09:07 schrieb Administrator www.Der-Mond.org:
Hallo Andrea, ich habe vor einem ähnlichen Problem gestanden. 
Eigentlich kannst Du die Abfrage in nur einer Zeile ausführen. 

Re: [TYPO3-german] Größenvergleich in MySQL bei signed INT Feldern ???

2017-02-04 Diskussionsfäden Ralf-Rene Schröder
Sorry für die Unruhe hier...
hat sich erledigt, ich hatte noch einen Vorzeichenwechsel im Code au der
Zeit als das dispo feld unsigned war... alles so wie es sein sollte!


Am 04.02.2017 um 19:00 schrieb Ralf-Rene Schröder:
> Ergänzung (mein Problem liegt doch wo anders - ich suche weiter):
> in MySQL selber funktioniert es DOCH (ich hatte die Suchfunktion des
> Adminers genommen und die interpretiert es ja als string '...')
> aber folgendes funktioniert:
> SELECT * FROM fe_users WHERE status_coins > status_dispo
> 
> aber wieso funktioniert dann in einem CronTask folgendes nicht:
> $userTable  = 'fe_users';
> $userWhere  = 'usergroup = 1 AND status_coins > status_dispo';
> $userUpdate = array('usergroup' => 'usergroupwithcoins'); 
> $userSpecial = array('usergroup','usergroupwithcoins');
> $res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery($userTable, $userWhere,
> $userUpdate, $userSpecial);

-- 
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Größenvergleich in MySQL bei signed INT Feldern ???

2017-02-04 Diskussionsfäden Ralf-Rene Schröder
Ergänzung (mein Problem liegt doch wo anders - ich suche weiter):
in MySQL selber funktioniert es DOCH (ich hatte die Suchfunktion des
Adminers genommen und die interpretiert es ja als string '...')
aber folgendes funktioniert:
SELECT * FROM fe_users WHERE status_coins > status_dispo

aber wieso funktioniert dann in einem CronTask folgendes nicht:
$userTable  = 'fe_users';
$userWhere  = 'usergroup = 1 AND status_coins > status_dispo';
$userUpdate = array('usergroup' => 'usergroupwithcoins');   
$userSpecial = array('usergroup','usergroupwithcoins');
$res = $GLOBALS['TYPO3_DB']->exec_UPDATEquery($userTable, $userWhere,
$userUpdate, $userSpecial);

-- 
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

[TYPO3-german] Größenvergleich in MySQL bei signed INT Feldern ???

2017-02-04 Diskussionsfäden Ralf-Rene Schröder
Hallo zusammen...
ich habe in der Datenbank beim fe_user zwei int Felder die auch negative
Zahlen aufnehmen können (sals nicht unsigned)
status_coins und status_dispo ... als Beispiel:
status_coins: -15
status_dispo: -25

in einem freien extbase query habe ich folgende Abfrage:
... AND status_coins > status_dispo ...
mathematisch wäre ja nun -15 größer als -25
ABER für mySQL scheinbar nicht, auch eine direkte Abfrage im Adminer
liefert mir hier kein Ergebnis ... erst wenn ich es logisch umkehre wird
mir der gewünschte Datensatz geliefert...

Gibt es bei SQL Abfragen keine mathematische > < Funktion ???
Oder brauche ich einen anderen Feldtyp in MySQL dafür???
Oder was muß ich dafür setzen/konfigurieren (würde es ungern komplett in
PHP auslagern für eine solche kleine Selbstverständlichkeit)...

-- 
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] $this->loggRepository->findAll() findet nichts

2017-02-04 Diskussionsfäden Ralf-Rene Schröder
Am 02.02.2017 um 21:34 schrieb Mikel:
> Ist das Repository vorhanden (DependencyInjection)?
ja ist vorhanden
und eigentlich ist im FE Plugin auch der Ordner mit den Datensätzen,
also die PID definiert
aber euer Tipp mit dem setRespectStoragePage(FALSE) hat dann geholfen, DANKE

> $query = $this->createQuery();
> $query->getQuerySettings()->setRespectStoragePage(FALSE);
> return $query->execute();

> findAll erwartet die pid, es sei denn, Du legst fest, dass diese ignoriert 
> werden soll…

-- 
image[FORMAT] - Ralf-René Schröder
http://www.image-format.eu ... Wir geben Ihrem Image das richtige Format
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Überprüfung ob Seite für User erlaubt ist

2017-02-04 Diskussionsfäden Dr. Dieter Porth

Hallo Stefan, Hallo Andrea,

Wenn du eine Allgemeine Lösung haben möchtest, würde die Abfrage in 
einen Viewhelper auslagern und die Anzeige kapseln. Denn die Frage nach 
der Berechtigung ist ja 'unabhänngig' von der Frage der Datenausgaben.  
In einem Projekt sieht mein Viewhelper so aus.


===

/*** * 
Copyright notice * * (c) 2016 Dr. Dieter Porth , private 
* * All rights reserved * 
***/ use 
TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface; use 
TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper; use 
TYPO3\CMS\Fluid\Core\ViewHelper\Facets\CompilableInterface; class 
BurkaViewHelper extends AbstractViewHelper { const 
POSITIONER_UTILITY_BE_USER_IS_LOGGIN = 'login_be'; const 
POSITIONER_UTILITY_BE_USER_IS_ADMIN = 'admin_be'; /** * checks the 
status of the status of current user * * @param string $status the 
required status of current user * @param string $data data overwrite the 
childrens-content - assigned only for inline-style * @return bool|string 
*/ public function render($status, $data = null) { if ($data === null) { 
$data = $this->renderChildren(); } if (!$data) { return false; } switch 
($status) { case self::POSITIONER_UTILITY_BE_USER_IS_ADMIN: if 
(is_object($GLOBALS['BE_USER'])) { 
if($GLOBALS['BE_USER']->extAdmEnabled) { return $data; } } break; case 
self::POSITIONER_UTILITY_BE_USER_IS_LOGGIN: if 
(is_object($GLOBALS['BE_USER'])) { return $data; } break; } return 
false; } } 
== 
Im Template/Partial sieht es dann so aus: 
==


http://typo3.org/ns/TYPO3/Fluid/ViewHelpers; 
xmlns:porth="http://typo3.org/ns/Porth/Positioner/ViewHelpers; >






Auszug aus Partial

Allgemein sichtbar


  wird nur dem Admin gezeigt, der hier im Frontend einen Comic 
stylen darf





= 



Ich hoffe, dass TYPO3 baldd mit einem allgemeinen Viewhelper sein 
Rechtemanagment auf Template-Ebene optimiert.


Mit den Anmerkungen von Stefan könntest du also schnell den Viewhelper 
oben für deine Ansprüche erweitern. Vielleicht mast du ihn auch hier 
veröffentlichen? Mit besten Grüßen  Dieter

Am 04.02.2017 um 09:07 schrieb Administrator www.Der-Mond.org:
Hallo Andrea, ich habe vor einem ähnlichen Problem gestanden. 
Eigentlich kannst Du die Abfrage in nur einer Zeile ausführen. Hier 
mal mein Lösung zur Abfrage ob ein Benutzer angemeldet ist und ob er 
sich in der gewünschten Gruppe befindet. Du selber müsstest dann nur 
noch die entsprechende Seiten-UID einfügen: if ( 
!$GLOBALS['TSFE']->fe_user->user['uid'] # Irgendein Benutzer 
angemeldet ? OR $GLOBALS['TSFE']->fe_user->user['usergroup'] <> 
'UserGruppe'# gehört zur gewünschten Benutzergruppe ) 
{ $this->redirect(NULL, NULL, NULL, NULL, [Deine 
UID]);# Wenn oben nicht erfüllt, dann auf andere Seite 
umleiten } Vielleicht hilft Dir das ja :-) Gruß Stefan Am 
03.02.2017 um 21:57 schrieb Andrea Schmuttermair:
Hi, gibt es eine Extbase Funktion, mit der man überprüfen kann ob 
eine Seiten-UID für den eingeloggten User erlaubt und sichtbar ist? 
Also ein Check auf fe_group Settings? Könnte ich zwar selber 
programmieren, aber sowas müsste es doch eigentlich geben? Habe eine 
Liste mit Links, doch für manche User sind nicht alle zugreifbar, und 
dann will ich die Links auch nicht anzeigen lassen. LG Andrea 
___ TYPO3-german mailing 
list TYPO3-german@lists.typo3.org 
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german 
___ TYPO3-german mailing 
list TYPO3-german@lists.typo3.org 
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german 

___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Re: [TYPO3-german] Überprüfung ob Seite für User erlaubt ist

2017-02-04 Diskussionsfäden Administrator www.Der-Mond.org

Hallo Andrea,

ich habe vor einem ähnlichen Problem gestanden.

Eigentlich kannst Du die Abfrage in nur einer Zeile ausführen. Hier mal mein Lösung zur Abfrage ob 
ein Benutzer angemeldet ist und ob er sich in der gewünschten Gruppe befindet. Du selber müsstest 
dann nur noch die entsprechende Seiten-UID einfügen:


if
(
!$GLOBALS['TSFE']->fe_user->user['uid'] # Irgendein Benutzer angemeldet ?
OR
$GLOBALS['TSFE']->fe_user->user['usergroup'] <> 'UserGruppe'# gehört zur 
gewünschten Benutzergruppe
)
{
$this->redirect(NULL, NULL, NULL, NULL, [Deine UID]);# Wenn oben nicht erfüllt, 
dann auf andere Seite umleiten

}


Vielleicht hilft Dir das ja :-)

Gruß

Stefan




Am 03.02.2017 um 21:57 schrieb Andrea Schmuttermair:

Hi,

gibt es eine Extbase Funktion, mit der man überprüfen kann ob eine
Seiten-UID für den eingeloggten User erlaubt und sichtbar ist?

Also ein Check auf fe_group Settings? Könnte ich zwar selber
programmieren, aber sowas müsste es doch eigentlich geben?

Habe eine Liste mit Links, doch für manche User sind nicht alle
zugreifbar, und dann will ich die Links auch nicht anzeigen lassen.

LG Andrea
___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


___
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german