Help: PHP code to create a folder

Author Message

Thiago Campos Viana

Wednesday 27 February 2008 6:31:01 am

hi everybody

I'm trying to write a php code that creates a folder, here's the code:

<?

$user_id=12;
include_once("kernel/classes/datatypes/ezuser/ezuser.php");
include_once('lib/ezutils/classes/ezoperationhandler.php');
include_once("kernel/classes/ezcontentclass.php");
include_once("kernel/classes/ezcontentobjecttreenode.php");
include_once("kernel/classes/datatypes/ezuser/eznodeassignment.php");

$parentNodeID=2;

$class = eZContentClass::fetchByIdentifier('folder');

$parentContentObjectTreeNode = eZContentObjectTreeNode::fetch($parentNodeID);
$parentContentObject = $parentContentObjectTreeNode->attribute("object");
$sectionID = $parentContentObject->attribute('section_id');
$contentObject = & $class->instantiate($user_id, $sectionID);

$nodeAssignment =& eZNodeAssignment::create(array('contentobject_id'=>$contentObject->attribute('id'),'content_version'=>$contentObject->attribute('current_version'), 'parent_node'=>$parentContentObjectTreeNode->attribute('node_id'),'is_main'=>1));

$nodeAssignment->store();

$contentObject->setAttribute('name','Teste1');

$contentObject->store();

$contentObject->setAttribute('status',EZ_VERSION_STATUS_DRAFT);
$contentObject->store();

$operationResult = eZOperationHandler::execute('content', 'publish',array('object_id'=>$contentObject->attribute('id'),'version'=>1));
?>

When I run the code I got the following error:

Parse error: parse error, unexpected T_CLONE, expecting T_STRING in /var/www/somesite/kernel/classes/ezcontentclass.php on line 175

I'm using eZ publish 3.9.4 - PHP Version 4.4.2-1build1 - Apache 2.0

Could anyone please help me?

eZ Publish Certified Developer: http://auth.ez.no/certification/verify/376924

Twitter: http://twitter.com/tcv_br

Kristof Coomans

Wednesday 27 February 2008 7:45:55 am

You are executing your code with PHP 5, not PHP 4.

independent eZ Publish developer and service provider | http://blog.coomanskristof.be | http://ezpedia.org

Thiago Campos Viana

Friday 29 February 2008 1:50:30 am

Thx Kristof

I fixed the includes:

include_once("kernel/classes/datatypes/ezuser/ezuser.php");
include_once('lib/ezutils/classes/ezoperationhandler.php');
include_once("kernel/classes/ezcontentclass.php");
include_once("kernel/classes/ezcontentobjecttreenode.php");
include_once("kernel/classes/eznodeassignment.php");

And executed the code with php4, but I got a new error:

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2) in /var/www/somesite/lib/ezdb/classes/ezmysqldb.php on line 131

This line is:

if ( $this->UsePersistentConnection == true )
{
$connection = mysql_pconnect( $server, $user, $password );
}
else
{
$connection = mysql_connect( $server, $user, $password, true );
}

I think the code is not getting the right ini settings for db connections because I am not executing it as an ez extensio, I am trying to execute it alone, but I will think a litle more about this problem.

Edited: I tested the code as a view on an extension and it worked!

eZ Publish Certified Developer: http://auth.ez.no/certification/verify/376924

Twitter: http://twitter.com/tcv_br

David Suela

Friday 29 February 2008 4:54:42 am

xsto.info <el acceso a la información>
http://xsto.info
http://dominios.coop

Thiago Campos Viana

Monday 03 March 2008 8:23:05 am

Hi, thx David

I have a new problem with this code when setting attributes values. The name of the created folder was supposed to be "test", but, instead, it was "Folder", how can I fix it?

<?

include_once("kernel/common/template.php");
include_once("kernel/classes/datatypes/ezuser/ezuser.php");
include_once('lib/ezutils/classes/ezoperationhandler.php');
include_once("kernel/classes/ezcontentclass.php");
include_once("kernel/classes/ezcontentobjecttreenode.php");
include_once("kernel/classes/eznodeassignment.php");

$user_id=12;
$parentNodeID=2;

$class = eZContentClass::fetchByIdentifier('folder');

$parentContentObjectTreeNode = eZContentObjectTreeNode::fetch($parentNodeID);
$parentContentObject = $parentContentObjectTreeNode->attribute("object");
$sectionID = $parentContentObject->attribute('section_id');
$contentObject = & $class->instantiate($user_id, $sectionID);

$nodeAssignment =& eZNodeAssignment::create(array('contentobject_id' => $contentObject->attribute('id'),'contentobject_version' => $contentObject->attribute('current_version'), 'parent_node' => $parentContentObjectTreeNode->attribute('node_id'),'is_main'=>1));

$nodeAssignment->store();
$contentObject->setAttribute('name','test');
$contentObject->store();

$attribs =& $contentObject->contentObjectAttributes();
$loopLength = count($attribs);
for($i=0;$i<$loopLength;$i++){

switch($attribs[$i]->attribute("contentclass_attribute_identifier")){
case 'short_name':
echo 'nome <br /><br />'.$title;
$attribs[$i]->setAttribute('short_name','test');
$attribs[$i]->store();
break;
}

}

$contentObject->setAttribute('status',EZ_VERSION_STATUS_DRAFT);
$contentObject->store();

$operationResult = eZOperationHandler::execute('content', 'publish',array('object_id'=>$contentObject->attribute('id'),'version'=>1));

}

}

}

?>

eZ Publish Certified Developer: http://auth.ez.no/certification/verify/376924

Twitter: http://twitter.com/tcv_br

André R.

Tuesday 04 March 2008 4:33:12 am

try:

$attribs[$i]->setAttribute('data_text','test');

(replace 'short_name' with 'data_text', this is the attribute 'data_text' of the class attribute 'short_name')

eZ Online Editor 5: http://projects.ez.no/ezoe || eZJSCore (Ajax): http://projects.ez.no/ezjscore || eZ Publish EE http://ez.no/eZPublish/eZ-Publish-Enterprise-Subscription
@: http://twitter.com/andrerom

Powered by eZ Publish™ CMS Open Source Web Content Management. Copyright © 1999-2014 eZ Systems AS (except where otherwise noted). All rights reserved.

eZ debug

Timing: Jan 30 2025 21:12:28
Script start
Timing: Jan 30 2025 21:12:28
Module start 'layout'
Timing: Jan 30 2025 21:12:28
Module start 'content'
Timing: Jan 30 2025 21:12:28
Module end 'content'
Timing: Jan 30 2025 21:12:28
Script end

Main resources:

Total runtime0.0231 sec
Peak memory usage6,144.0000 KB
Database Queries3

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0044 588.1406151.2109
Module start 'layout' 0.00440.0037 739.3516220.6875
Module start 'content' 0.00820.0136 960.03911,009.9297
Module end 'content' 0.02180.0013 1,969.968841.9922
Script end 0.0231  2,011.9609 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.002510.7899140.0002
Check MTime0.00094.1016140.0001
Mysql Total
Database connection0.00073.035010.0007
Mysqli_queries0.00198.091930.0006
Looping result0.00000.048410.0000
Template Total0.00104.210.0010
Template load0.00083.315310.0008
Template processing0.00020.890410.0002
Override
Cache load0.00052.286810.0005
General
dbfile0.002410.451980.0003
String conversion0.00000.029940.0000
Note: percentages do not add up to 100% because some accumulators overlap

Templates used to render the page:

UsageRequested templateTemplateTemplate loadedEditOverride
1print_pagelayout.tpl<No override>extension/community/design/community/templates/print_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