Forums / General / Cannot change object states with php scripts running from shell?

Cannot change object states with php scripts running from shell?

Author Message

Denitsa M.

Tuesday 27 April 2010 8:06:07 am

Hi,

while writing a cronjob script for changing objects's state from "ready to go online" into "published", I ran into this problem and as much as I tried, I couldn't find the solution to it.

It is basically the following situation: I want to be able to execute a conjob script, which will change certain objects state from one to another (regardless of the state, this is up to settings). My script is working correctly only if I add a new rule into anonymous role, giving permission for state/assign - which, need I say, I don't want to do, and is not correct for me. So without it, I am unable to change object state since into the updateObjectState() method there is a check for current user permissions to change the states, and after the array_intersect() for this check is passed, I am left with empty array for new object state variable, and thus the following eZSearch::updateObjectState($objectID, $selectedStateIDList); does not do anything.

The siteaccess defining option for cron script does not help in any way unfortunatelly.

Is there any way the cronjobs to be able to change states, and if yes - what is it? My search did not gave any result.

Appreciating all help and thanks is advance.

Deni

P.S.: Sorry, forgot to mention, eZp is at stable 4.3, used with ezwebin, ezflow, ezjscore, etc, but not installed as commonly done (automatic install).

Iguana IT - http://www.iguanait.com

Denitsa M.

Thursday 13 May 2010 7:52:40 am

Well, for whatever reason this may be organized the way it is, and no help there, I concluded that currently the way to go around this strange limitation is to use direct query as in standard cronjob unlock.php. I still hope this is fixed in later updates, because it is kind of useless to have working standard methods for change of state and do not use them in cronjobs, and instead use direct queries.

Deni 

Iguana IT - http://www.iguanait.com

Damien Pobel

Thursday 13 May 2010 1:42:22 pm

Hi Denitsa,

it's probably because by default your code runs with the anonymous account. But with the following lines you can gain admin privileges in your script :

$adminUserID = 14;
$user = eZUser::fetch( $adminUserID );
$user->loginCurrent();

I hope that helps.

Cheers

Damien
Planet eZ Publish.fr : http://www.planet-ezpublish.fr
Certification : http://auth.ez.no/certification/verify/372448
Publications about eZ Publish : http://pwet.fr/tags/keywords/weblog/ez_publish

eZ debug

Timing: Jan 29 2025 13:36:48
Script start
Timing: Jan 29 2025 13:36:48
Module start 'content'
Timing: Jan 29 2025 13:36:48
Module end 'content'
Timing: Jan 29 2025 13:36:48
Script end

Main resources:

Total runtime0.1160 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.0049 588.1797180.8047
Module start 'content' 0.00490.0068 768.984493.9766
Module end 'content' 0.01170.1043 862.9609527.1719
Script end 0.1159  1,390.1328 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00322.7194200.0002
Check MTime0.00121.0187200.0001
Mysql Total
Database connection0.00080.660310.0008
Mysqli_queries0.075565.09201410.0005
Looping result0.00100.86951390.0000
Template Total0.103989.610.1039
Template load0.00080.658610.0008
Template processing0.103188.900610.1031
Override
Cache load0.00050.472210.0005
Sytem overhead
Fetch class attribute can translate value0.00080.649810.0008
XML
Image XML parsing0.00030.225010.0003
General
dbfile0.00605.1448200.0003
String conversion0.00000.003730.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.0002 secs