# |
Apr 29th 2021, 07:55 |
etibor |
i use a component for functions used common by different controllers for example i have a user profile function in the component, where i try to change the layout(the menu) like this: $this->viewBuilder()->setLayout($this->request->prefix); but o got: Call to undefined method App\Controller\Component\CommonFunctionsComponent::viewBuilder() how can i use the viewbuilder in a Component? |
# |
Apr 29th 2021, 07:52 |
etibor |
Hello all |
# |
Apr 28th 2021, 18:57 |
rightscoreanalysis |
does anyone know of a Twitter API plugin for recent version of Cake? |
# |
Apr 28th 2021, 15:33 |
greg138 |
If it works sometimes, then the configuration is fine. |
# |
Apr 28th 2021, 14:14 |
admad |
@erwane there's `DateTimeTimezoneType` https://github.com/cakephp/cakephp/blob/master/src/Database/Type/DateTimeTimezoneType.php. So you can use that for your fields and contact the timezone to your POSTed values in `beforeMarshal()` |
# |
Apr 28th 2021, 13:26 |
admad |
Don't have time to look into it now, you can open an issue if you think it's something that can be improved in the core. |
# |
Apr 28th 2021, 13:24 |
erwane |
@admad what do you think about my problem ? |
# |
Apr 28th 2021, 12:41 |
slackebot |
?I18nDateTimeInterface { /** @psalm-var class-string<\Cake\I18n\I18nDateTimeInterface> $class */ $class = $this->_className; return $class::parseDateTime($value, $this->_localeMarshalFormat); } ``` Time-zone is not passed to `parseDateTime` and set to UTC by default. Maybe need to add a `localeTimezone` parameter ?``` |
# |
Apr 28th 2021, 12:41 |
slackebot |
->useLocaleParser(true) ``` When patching entity with this data, it's passed to `Marshaller` then `DateTimeType` and it build a FrozenTime object with wrong time-zone : ```php object(Cake\I18n\FrozenTime) id:0 { 'time' => '2021-04-21 08:00:00.000000+00:00' 'timezone' => 'UTC' ``` The problem is in the method `\Cake\Database\Type\DateTimeType::_parseLocalValue()` ```php protected function _parseLocaleValue(string $value): |
# |
Apr 28th 2021, 12:41 |
erwane |
```My website has form with a date-time picker, localized to user language/locale. Time-zone is set globally to `UTC` and date-time are displayed in the correct user time-zone. The field display : `04/21/2021 08:00` for users in West-Coast or `21/04/2021 08:00` in France. In Controller::initialize() i set something like that, for a french user ```php TypeFactory::build('datetime') ->setLocaleFormat('dd/MM/yyyy HH:mm') |
# |
Apr 28th 2021, 12:39 |
erwane |
i've prepared an issue about that but don't post because there is alternative but i can expose here |
# |
Apr 28th 2021, 12:37 |
erwane |
(alternative to my problem) ```if ($news->getError('published')) { $news->setError('published-datepicker', $news->getError('published')); } }``` |
# |
Apr 28th 2021, 12:37 |
admad |
what timezone issue you have with DateTimeType? In 4.x it allows you to specify the db timezone |
# |
Apr 28th 2021, 12:34 |
admad |
value of hidden field is what will be submitted and validated in php |
# |
Apr 28th 2021, 12:34 |
erwane |
I can't use "localized" datetime format due to a bug in DateTimeType (timezone is missing) I convert user choice in ISO string in an hidden field. |
# |
Apr 28th 2021, 12:30 |
erwane |
but ... flatpickr use an hidden field too, problem is same. Validation should be done on the value of hidden field |
# |
Apr 28th 2021, 12:28 |
erwane |
i don't like this answer :) but you certainly right |
# |
Apr 28th 2021, 12:19 |
kevin.pfeifer |
then you should use the right datetime picker library ;) I switched to https://flatpickr.js.org/examples/ and it works great |
# |
Apr 28th 2021, 12:15 |
erwane |
Is it possible, in cake4, to add validation on hidden field and report error to another "fake" field ? It's a datetime picker who set date in hidden field but i want error displayed under the picker field. |
# |
Apr 28th 2021, 12:11 |
erwane |
which cake2 version ? |
# |
Apr 28th 2021, 11:14 |
k4t |
only %25 is causing problems |
# |
Apr 28th 2021, 11:14 |
k4t |
Hello, in old CakePhP2 project we are facing issue in which when in the url is encoded percentage symbol, for example "/suche/%25" then we got Bad Request error from HTTP server. It does not happen in projects which use CakePHP3. Can someone help me? |
# |
Apr 28th 2021, 08:50 |
d.lisiecki93 |
so basically we have same settings, thanks @kevin.pfeifer for help, ill contact with Amazon then :) |
# |
Apr 28th 2021, 08:49 |
kevin.pfeifer |
nothing more |
# |
Apr 28th 2021, 08:49 |
slackebot |
'EMAIL_TRANSPORT_DEFAULT_URL', null ), ], ],``` |
# |
Apr 28th 2021, 08:49 |
kevin.pfeifer |
in my cake 4 instance i only need this in my app.php ``` 'EmailTransport' => [ 'default' => [ 'className' => Cake\Mailer\Transport\SmtpTransport::class, 'host' => 'smtpserver-address', 'port' => 587, 'timeout' => 30, 'username' => 'bla', 'password' => 'somesecurepassword', 'client' => null, 'tls' => true, 'url' => env( |
# |
Apr 28th 2021, 08:44 |
d.lisiecki93 |
that’s what i also think, but wanted to make sure if my configuration etc is correct or if there is no some sort of known issue ;P |
# |
Apr 28th 2021, 08:44 |
kevin.pfeifer |
In my opinion this would be a Amazon SMTP Server issue, not a CakePHP issue ;) |
# |
Apr 28th 2021, 08:43 |
slackebot |
recipient / email, im trying to send same email to same recipient for e.g 100 times (with some delays to prevent some sort of spam block) and 5-10 of email are not reaching me. • cakephp version: `3.5.18` |
# |
Apr 28th 2021, 08:43 |
d.lisiecki93 |
hi there, im having weird issue with Amazon SES smtp, for some reason, sometimes it randomly throw me exception that the SMTP server did not accept the password, like this: ```2021-04-26 19:00:02 Error: [Cake\Network\Exception\SocketException] SMTP server did not accept the password. in /var/www/source_b/vendor/cakephp/cakephp/src/Mailer/Transport/SmtpTransport.php on line 272``` It happens totally randomly, no matter of |
# |
Apr 28th 2021, 07:12 |
paolo.bragagni |
What is a PR (?) |
# |
Apr 28th 2021, 04:40 |
asyraf.wahianuar |
thank you :) I'll try. Thanks |
# |
Apr 28th 2021, 04:32 |
admad |
Or probably `$user['user_details']['fullname']` |
# |
Apr 28th 2021, 04:30 |
admad |
So use `$user = $this->Auth->user()` to get the full record and `$user->user_details->fullname` will have the full name, |
# |
Apr 28th 2021, 04:19 |
asyraf.wahianuar |
yes, the `findAuth()` is inside the user table. in the auth component: `$this->loadComponent('Auth', ['authenticate' => ['Form' => ['finder' => 'auth',]]]);` already set the finder. When I debug, I can see the user_details table in the session under Auth->User->user_detail. |
# |
Apr 28th 2021, 04:11 |
admad |
Is `findAuth()` in your users table? Have you configure the `AuthComponent` to use that custom finder? |
# |
Apr 28th 2021, 04:06 |
slackebot |
component. Any suggestion? Thanks |
# |
Apr 28th 2021, 04:06 |
asyraf.wahianuar |
hello, I've users and user_details table with is related to each other. When I logged in, I use `$this->set('auth_username',$this->Auth->user('username'));` to print the username. However, the fullname is stored inside the user_details table. I've include `return $query->contain(['UserDetails']);` in the public function findAuth. How can I print / echo the fullname? Currently the app is running in Cakephp 3 using auth |
# |
Apr 28th 2021, 02:40 |
francisdoydora |
well I'll just scrap this method then. thanks for the input @richard :) |
# |
Apr 28th 2021, 02:39 |
francisdoydora |
I see, I was wondering that too. I've implemented HTTPS force redirect successfully in Apache before but wanted to do it via Cake too as a test. |
# |
Apr 28th 2021, 02:34 |
richard |
i’d say so |