# |
Jul 7th 2021, 13:59 |
dereuromark |
I would debug the __d() function and what it looks up in the end, what language it tries to find etc |
# |
Jul 7th 2021, 13:59 |
dereuromark |
cake generates the mo file, no need to do anything from normal po usage |
# |
Jul 7th 2021, 13:57 |
kevin.pfeifer |
So you edit the `my_plugin.po` with something like PoEdit and generate a `my_plugin.mo` from it, right? |
# |
Jul 7th 2021, 13:55 |
bato |
Uhm... so should it work automatically? No need to configure anything else in plugin? |
# |
Jul 7th 2021, 13:51 |
dereuromark |
well, 2 should also be fine. https://github.com/cakephp/localized/tree/3.x/src/Locale |
# |
Jul 7th 2021, 13:50 |
dereuromark |
I always used 3 letter iso codes in cake3 ( https://github.com/dereuromark/cakephp-tools/tree/cake3/src/Locale ), not sure if that makes a difference in the end. |
# |
Jul 7th 2021, 13:36 |
slackebot2 |
forcing locale `I18n::setLocale('it')` but the strings aren't translated. Do I need to add/load a translator for the plugin? |
# |
Jul 7th 2021, 13:36 |
bato |
Hi all, I need some help with localization in a plugin for CakePHP 3.9. I have a plugin named `MyPlugin` and I made translations using `__d()` and domain `my_plugin`. Then I have extracted transaltions with `./bin/cake I18n extract --plugin MyPlugin` generating `my_plugin.pot` file inside the plugin `src/Locale` directory. I have generated `src/Locale/it/my_plugin.po` file with `./bin/cake i18n init it -p MyPlugin` To test it I'm |
# |
Jul 7th 2021, 13:14 |
dereuromark |
As only the controller should have access to request data. |
# |
Jul 7th 2021, 13:13 |
dereuromark |
Usually you would pass in that data from the controller layer into the model layer and then the behavior can use that. |
# |
Jul 7th 2021, 13:13 |
dereuromark |
I think Utils one contains one. Well, they are also cheating a bit using global auth forwarding :) But better than nothing. https://github.com/cakemanager/cakephp-utils/blob/master/src/Model/Behavior/WhoDidItBehavior.php |
# |
Jul 7th 2021, 13:11 |
dereuromark |
At the very least a session class wrapper would be appropriate here. |
# |
Jul 7th 2021, 13:11 |
alamnaryab |
no, how can I use the default one? |
# |
Jul 7th 2021, 13:11 |
dereuromark |
See awesome list. The main problem with yours is that you directly access super global $_SESSION, which is very bad. |
# |
Jul 7th 2021, 13:10 |
dereuromark |
Why? :) You do know that it already exists, right? |
# |
Jul 7th 2021, 13:06 |
slackebot2 |
$entity->modified_by = $loggedin_user_id; }else{ $entity->modified_by = $loggedin_user_id; } } }``` How can I improve it? |
# |
Jul 7th 2021, 13:06 |
alamnaryab |
I have created a `CreatedbyBehavior` to auto populate `created_by` and `modified_by` fields ```class CreatedbyBehavior extends Behavior { public function beforeSave(EventInterface $event, EntityInterface $entity, ArrayObject $options) { $loggedin_user_id = isset($_SESSION['Auth']->id)?$_SESSION['Auth']->id:-1; if($entity->isNew()){ $entity->created_by = $loggedin_user_id; |
# |
Jul 7th 2021, 13:02 |
info315 |
@alamnaryab I think your Controller has to pass the current user id to the Table, which pass it to the Behavior |
# |
Jul 7th 2021, 12:39 |
ndm |
You could use a result formatter on the query to modify the data that lands in the entity, or add a virtual field to the user entity that extracts the information on the fly. |
# |
Jul 7th 2021, 12:07 |
alamnaryab |
Hi How can I get logged-in user id inside Behavior I used Authentication Plugin following cake4 cms tutorial |
# |
Jul 7th 2021, 11:52 |
paolo.bragagni |
usingfoc bootstrap-ui but my require fields are not styled |
# |
Jul 7th 2021, 08:37 |
dereuromark |
But are u also using it as in docs? :) |
# |
Jul 7th 2021, 08:24 |
rudy1976s |
I am using @dereuromark Tags plugin, I configured it as described in the docs, but I cannot save: I always get the following error: `Cannot convert value of type array to string.` The stack is not helping: anyone got same issue ? |
# |
Jul 7th 2021, 08:22 |
rudy1976s |
good morning !!! |
# |
Jul 6th 2021, 22:17 |
itmpls |
makes sense, yeah |
# |
Jul 6th 2021, 22:06 |
dereuromark |
blacklisting instead of whitelisting is usually considered a security risk. add any new method/controller without thinking about it and you exposed too much by accident. |
# |
Jul 6th 2021, 21:14 |
itmpls |
Apparently my version doesn't support bypassAuth - by AppController logic did you mean just specifying a beforeFilter and conditioning off $this->name to specify $this->Auth->allow? That's what I just discovered |
# |
Jul 6th 2021, 19:57 |
slackebot2 |
] ); }``` It Returns `Roles` insde `UserRoles` object. while I want it as plain array of roles as property of `User` object so that I can make check easily for roles as below ```if(in_array('admin',$this->Authentication->getIdentityData('roles') ){ //show admin dashboard }else if(array_intersect( ['sa','owner'],$this->Authentication->getIdentityData('roles') ){ //show owner dashboard } ``` |
# |
Jul 6th 2021, 19:57 |
alamnaryab |
Respected @ndm I tried this, but there is still an issue I have 4 tables `Users` `Students` `Roles` and `UserRoles` I am expecting ```$this->Authentication->getIdentityData('roles') = array('sa','admin',....);``` ```public function findForAuthentication(\Cake\ORM\Query $query, array $options): \Cake\ORM\Query { return $query->contain( [ 'Students', 'UserRoles.Roles' |
# |
Jul 6th 2021, 18:53 |
steinkel |
you can add some logic to AppController too |
# |
Jul 6th 2021, 18:53 |
steinkel |
bypassAuth OR use `$this->Auth->allow(...)` to set the action as public in your controller |
# |
Jul 6th 2021, 18:52 |
itmpls |
with 8.x. and I saw 'bypassAuth' was a thing but I don't think it's in that version? |
# |
Jul 6th 2021, 18:51 |
itmpls |
you know how you do $this->Auth->allow([ ]); within each controller to bypass user permissions? is there a way to specify say, allow unregistered users to access all EXCEPT these in config/permissions? |
# |
Jul 6th 2021, 18:47 |
steinkel |
@itmpls I don't get your use-case could you provide an example? |
# |
Jul 6th 2021, 18:09 |
itmpls |
Is there a reverse to cakedc/users where I can allow all routes through permissions except some if the reverse is the default? |
# |
Jul 6th 2021, 15:52 |
kiwi_13 |
cakephp-orm-json is exactly what I was looking for :) Thanks! |
# |
Jul 6th 2021, 15:51 |
kiwi_13 |
Thanks a lot. |
# |
Jul 6th 2021, 15:50 |
ewbarnard |
I see Authentication+Authorization training is offered this Thursday July 8. Are any "getting started with CakePHP 4" courses currently scheduled? I don't see anything on the web site. We have a new employee! |
# |
Jul 6th 2021, 15:47 |
kevin.pfeifer |
I would guess you can start at https://github.com/liqueurdetoile/cakephp-orm-json |
# |
Jul 6th 2021, 15:47 |
ndm |
Depends on what work you need to do. CakePHP ships JSON column support out of the box as far as type conversion is concerned (DB to PHP and vice versa), but that's about it. |
# |
Jul 6th 2021, 15:37 |
kiwi_13 |
Hi, what is the best way to work with json-columns (mariadb) in cakephp orm? Couldn't find any documentation on the cake book |