Forums / Developer / extending ezUser so on profile changes can be checked

extending ezUser so on profile changes can be checked

Author Message

Douglas Hammond

Thursday 28 May 2009 1:10:05 pm

I have extended the login handler.

Now after a user logs in, it seems ezpublisher no longer uses my cutom user class as when I change the user info, the overrided store function does not fire.

How do I get ezPublish to use my custom user class, not just for logging in?

Paul Forsyth

Thursday 28 May 2009 2:25:08 pm

Hi Douglas,

Have a look at this extension with a login handler:

http://projects.ez.no/superuser

and compare with your own. It may highlight something with your own code.

Paul

eZ Systems

Douglas Hammond

Friday 29 May 2009 5:54:46 am

Thanks but that part I got.

It is using an extened ezUser class to override the default ezUser class that I would like to do. When the ezUser is updated or modified i wan to catch the events to do some more logic.

Seems like the only wayt to do it is to modify the kernel source of ezUser. I would hate to have to do that and miss out on any changes in the upcoming releases.

Paul Forsyth

Friday 29 May 2009 6:13:17 am

Hi Douglas,

I hear you. Yes, the login handler only covers the loginUser function, which you can see from kernel/user/login how the correct class is loaded.

You have a few options in order to keep maintenance low. You could copy the ezuser datatype into an extension but that is a high maintenance approach.

I would patch ezusertype, specifically the function 'objectAttributeContent' which loads the ezuser object. Instead you could check for your new class and use that instead. That should force the correct object to be used, and therefore the right 'store' method.

Patching, if done properly, is a perfectly acceptable technique for modifying the kernel.

It should be very easy to maintain this patch. It depends. I can't see the ezusertype::objectAttributeContent method changing much in the future...

Paul

eZ Systems

eZ debug

Timing: Jan 19 2025 19:57:15
Script start
Timing: Jan 19 2025 19:57:15
Module start 'content'
Timing: Jan 19 2025 19:57:15
Module end 'content'
Timing: Jan 19 2025 19:57:15
Script end

Main resources:

Total runtime0.1473 sec
Peak memory usage2,048.0000 KB
Database Queries141

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0080 589.1016180.8125
Module start 'content' 0.00800.0061 769.914193.8359
Module end 'content' 0.01420.1331 863.7500526.0000
Script end 0.1473  1,389.7500 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00362.4292200.0002
Check MTime0.00140.9394200.0001
Mysql Total
Database connection0.00100.688310.0010
Mysqli_queries0.099667.57391410.0007
Looping result0.00120.80801390.0000
Template Total0.132790.110.1327
Template load0.00090.610310.0009
Template processing0.131889.459510.1318
Override
Cache load0.00060.418810.0006
Sytem overhead
Fetch class attribute can translate value0.00080.558610.0008
XML
Image XML parsing0.00020.150810.0002
General
dbfile0.00432.9467200.0002
String conversion0.00000.004030.0000
Note: percentages do not add up to 100% because some accumulators overlap

CSS/JS files loaded with "ezjscPacker" during request:

CacheTypePacklevelSourceFiles
CSS0extension/community/design/community/stylesheets/ext/jquery.autocomplete.css
extension/community_design/design/suncana/stylesheets/scrollbars.css
extension/community_design/design/suncana/stylesheets/tabs.css
extension/community_design/design/suncana/stylesheets/roadmap.css
extension/community_design/design/suncana/stylesheets/content.css
extension/community_design/design/suncana/stylesheets/star-rating.css
extension/community_design/design/suncana/stylesheets/syntax_and_custom_tags.css
extension/community_design/design/suncana/stylesheets/buttons.css
extension/community_design/design/suncana/stylesheets/tweetbox.css
extension/community_design/design/suncana/stylesheets/jquery.fancybox-1.3.4.css
extension/bcsmoothgallery/design/standard/stylesheets/magnific-popup.css
extension/sevenx/design/simple/stylesheets/star_rating.css
extension/sevenx/design/simple/stylesheets/libs/fontawesome/css/all.min.css
extension/sevenx/design/simple/stylesheets/main.v02.css
extension/sevenx/design/simple/stylesheets/main.v02.res.css
JS0extension/ezjscore/design/standard/lib/yui/3.17.2/build/yui/yui-min.js
extension/ezjscore/design/standard/javascript/jquery-3.7.0.min.js
extension/community_design/design/suncana/javascript/jquery.ui.core.min.js
extension/community_design/design/suncana/javascript/jquery.ui.widget.min.js
extension/community_design/design/suncana/javascript/jquery.easing.1.3.js
extension/community_design/design/suncana/javascript/jquery.ui.tabs.js
extension/community_design/design/suncana/javascript/jquery.hoverIntent.min.js
extension/community_design/design/suncana/javascript/jquery.popmenu.js
extension/community_design/design/suncana/javascript/jScrollPane.js
extension/community_design/design/suncana/javascript/jquery.mousewheel.js
extension/community_design/design/suncana/javascript/jquery.cycle.all.js
extension/sevenx/design/simple/javascript/jquery.scrollTo.js
extension/community_design/design/suncana/javascript/jquery.cookie.js
extension/community_design/design/suncana/javascript/ezstarrating_jquery.js
extension/community_design/design/suncana/javascript/jquery.initboxes.js
extension/community_design/design/suncana/javascript/app.js
extension/community_design/design/suncana/javascript/twitterwidget.js
extension/community_design/design/suncana/javascript/community.js
extension/community_design/design/suncana/javascript/roadmap.js
extension/community_design/design/suncana/javascript/ez.js
extension/community_design/design/suncana/javascript/ezshareevents.js
extension/sevenx/design/simple/javascript/main.js

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 1
 Number of unique templates used: 1

Time used to render debug report: 0.0001 secs