Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
Всем привет. Возник такой вопрос, нужно в Yii автоматизировать часть процессов. То есть, при вызове одного action, если в определённый момент выполнились некоторые условия, надо вызвать другой action с определёнными условиями, среди них: 1. Подмена POST данных 2. Подмена Yii::app()->user Как понимаете, с первым проблем нету... А вот со вторым... при попытке подменить user - получаю ошибку, что данное свойство только для чтения. Возможно я не правильный путь выбрал? Или если данную задумку можно довести до конца, прошу помочь с этим. Сам код компонента, который читает из базы данные по запуску action и запускает его. Код: php 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. Заранее благодарен за любые подсказки и помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 15:35 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
переписывайте класс компонента Yii::app()->user ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 18:12 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
только это извращенство какое-то ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 18:12 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
Только я вот не понимаю, зачем вам переназначать Код: php 1. ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 18:14 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
Да и вообще, Yii::app()->user - Это инстанс CWebUser , а вы туда экземпляр унаследованный от CActiveRecord пихаете не понятно зачем даже. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 18:32 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
HettДа и вообще, Yii::app()->user - Это инстанс CWebUser , а вы туда экземпляр унаследованный от CActiveRecord пихаете не понятно зачем даже. Я же говорю, возможно не прав в выборе метода решения вопроса. Основная задача состоит в том, что бы запустить один экшен из другого, но для запускаемого должен быть определён свой пользователь и свои пост данные. А по поводу подмены user вообще ничего подобного в инэте не нашёл, потому и начал изобретать... соответственно не удивительно что с грубыми ошибками, так как yii знаю поверхностно... Прошу совета, как это сделать вообще можно. Подскажите, очень надо... по хорошему мне завтра с процессом автоматизации закончить надо, а у меня только половина работы сделана (и та как видите не работает полноценно) :) P.S. Изначально не знал, что с перезаписью юзера возникнут проблемы... Было 2 выхода: внедрять в уже готовый код кучу разных дописываний, или же создать компонент подобный тому, что я показал. Второе казалось легче, вот я и решил по этому пути пойти. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 19:08 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
Вынесите из контролера код, который вы хотите применять, в отдельный метод и вызывайте его с необходимыми параметрами (данными), подменять данные в посте и подменять юзера подобным образом - очень говнокодно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 19:22 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
HettДа и вообще, Yii::app()->user - Это инстанс CWebUser , а вы туда экземпляр унаследованный от CActiveRecord пихаете не понятно зачем даже. УРА! Спасибо... Ваше сообщение было очень информативным. Посмотрел описание класса CWebUser, а там написано, что если для свойства данного класса был определён метод __set, то оно может быть установлено... удалил все попытки подменить пользователя и начал просто подменять нужные данные (те, которые нужны будут использоваться в данных экшенах). Большое спасибо. Кстати, если есть идеи, как сделать лучше и более правильно, напишите пожалуйста, так как это делается сейчас, что бы быстро (до завтра). В идеале хотелось бы переписать так, как должно быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 19:25 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
выше написал уже) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 19:34 |
|
||
|
Yii. Подмена Yii::app()->user
|
|||
|---|---|---|---|
|
#18+
Hettвыше написал уже) Ладно... учитывая объём, кода получится не меньше. Тогда буду просто нужные участки переопределять (в перспективе получится лучше, так как в ином случае надо будет правильно отслеживать статистику событий, а это гемор). Спасибо за совет. Думаю тему можно закрыть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.06.2013, 20:08 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=38299160&tid=1463703]: |
0ms |
get settings: |
7ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
25ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 323ms |

| 0 / 0 |
