Forums / Developer / Help: PHP code to create a folder

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

eZ debug

Timing: Jan 18 2025 02:55:50
Script start
Timing: Jan 18 2025 02:55:50
Module start 'content'
Warning: PHP: E_WARNING Jan 18 2025 02:55:51
DOMDocument::loadXML(): Opening and ending tag mismatch: literal line 2 and paragraph in Entity, line: 18 in /home/ze/public_html/share.se7enx.com/kernel/classes/datatypes/ezxmltext/ezxmloutputhandler.php on line 174
Warning: PHP: E_WARNING Jan 18 2025 02:55:51
DOMDocument::loadXML(): Opening and ending tag mismatch: paragraph line 2 and section in Entity, line: 18 in /home/ze/public_html/share.se7enx.com/kernel/classes/datatypes/ezxmltext/ezxmloutputhandler.php on line 174
Timing: Jan 18 2025 02:55:51
Module end 'content'
Timing: Jan 18 2025 02:55:51
Script end

Main resources:

Total runtime0.7878 sec
Peak memory usage4,096.0000 KB
Database Queries207

Timing points:

CheckpointStart (sec)Duration (sec)Memory at start (KB)Memory used (KB)
Script start 0.00000.0066 589.1641180.8281
Module start 'content' 0.00660.6750 769.9922704.6484
Module end 'content' 0.68160.1061 1,474.6406345.2656
Script end 0.7877  1,819.9063 

Time accumulators:

 Accumulator Duration (sec) Duration (%) Count Average (sec)
Ini load
Load cache0.00380.4775210.0002
Check MTime0.00130.1709210.0001
Mysql Total
Database connection0.00120.151610.0012
Mysqli_queries0.684286.85612070.0033
Looping result0.00200.25742050.0000
Template Total0.761096.620.3805
Template load0.00180.223420.0009
Template processing0.759296.372920.3796
Template load and register function0.00010.012310.0001
states
state_id_array0.00080.099010.0008
state_identifier_array0.00080.103420.0004
Override
Cache load0.00170.20971030.0000
Sytem overhead
Fetch class attribute can translate value0.00110.137850.0002
Fetch class attribute name0.00110.142290.0001
XML
Image XML parsing0.00240.307650.0005
class_abstraction
Instantiating content class attribute0.00000.0024110.0000
General
dbfile0.01051.3293400.0003
String conversion0.00000.000830.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
1node/view/full.tplfull/forum_topic.tplextension/sevenx/design/simple/override/templates/full/forum_topic.tplEdit templateOverride template
5content/datatype/view/ezimage.tpl<No override>extension/sevenx/design/simple/templates/content/datatype/view/ezimage.tplEdit templateOverride template
6content/datatype/view/ezxmltext.tpl<No override>extension/community_design/design/suncana/templates/content/datatype/view/ezxmltext.tplEdit templateOverride template
20content/datatype/view/ezxmltags/paragraph.tpl<No override>extension/ezwebin/design/ezwebin/templates/content/datatype/view/ezxmltags/paragraph.tplEdit templateOverride template
14content/datatype/view/ezxmltags/line.tpl<No override>design/standard/templates/content/datatype/view/ezxmltags/line.tplEdit templateOverride template
1content/datatype/view/ezxmltags/literal.tpl<No override>extension/community/design/standard/templates/content/datatype/view/ezxmltags/literal.tplEdit templateOverride template
1pagelayout.tpl<No override>extension/sevenx/design/simple/templates/pagelayout.tplEdit templateOverride template
 Number of times templates used: 48
 Number of unique templates used: 7

Time used to render debug report: 0.0002 secs