Wednesday 17 February 2010 5:35:53 am
Hello, I am trying to make an unHide cronjob so I made some changes for unhide.php based on the hide.php as follows (I added comments to the changed lines), please also check my other comment at http://share.ez.no/forums/developer/cronjobs-hide-unhide <code>
<?php
//
// Created on: <21-Jan-05 16:00:52 kk>
//
// SOFTWARE NAME: eZ publish
// SOFTWARE RELEASE: 3.10.0
// BUILD VERSION: 20254
// COPYRIGHT NOTICE: Copyright (C) 1999-2007 eZ systems AS
// SOFTWARE LICENSE: GNU General Public License v2.0
// NOTICE: >
// This program is free software; you can redistribute it and/or
// modify it under the terms of version 2.0 of the GNU General
// Public License as published by the Free Software Foundation.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of version 2.0 of the GNU General
// Public License along with this program; if not, write to the Free
// Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
// MA 02110-1301, USA.
//
//
/*! \file hide.php
*/
include_once( "kernel/classes/ezcontentobjecttreenode.php" );
include_once( "lib/ezutils/classes/ezini.php" );
$ini =& eZINI::instance( 'content.ini' );
$rootNodeIDList = $ini->variable( 'HideSettings','RootNodeList' );
$hideAttributeArray = $ini->variable( 'HideSettings', 'HideDateAttributeList' );
$hideClasses = array_keys( $hideAttributeArray );
$currrentDate = time();
$offset = 0;
$limit = 20;
foreach( $rootNodeIDList as $nodeID )
{
$rootNode = eZContentObjectTreeNode::fetch( $nodeID );
while( true )
{
$nodeArray =& $rootNode->subTree( array( 'ClassFilterType' => 'include',
'ClassFilterArray' => $hideClasses,
'Offset' => $offset,
'Limit' => $limit ) );
if ( !$nodeArray ||
count( $nodeArray ) == 0 )
{
break;
}
$offset += $limit;
foreach ( array_keys( $nodeArray ) as $key )
{
$node =& $nodeArray[$key];
$dataMap =& $node->attribute( 'data_map' );
$dateAttributeName = $hideAttributeArray[$node->attribute( 'class_identifier' )];
if ( !$dateAttributeName )
{
continue;
}
$dateAttribute =& $dataMap[$dateAttributeName];
if ( is_null( $dateAttribute ) || !$dateAttribute->hasContent() )
{
continue;
}
$date = $dateAttribute->content();
$retractDate = $date->attribute( 'timestamp' );
///////////////////////// changed !$node->attribute( 'is_hidden' ) to $node->attribute( 'is_hidden' )
if ( $retractDate > 0 && $retractDate < $currrentDate && $node->attribute( 'is_hidden' ) )
{
///////////////////////// changed hideSubTree to unhideSubTree
eZContentObjectTreeNode::unhideSubTree( $node );
if ( !$isQuiet )
{
$cli->output( 'unHiding node : ' . $node->attribute( 'node_id' ) );
}
}
}
}
}
?> ?> </code> It's a project using ezp 3.10 version! Q: Could this work for me (please take a look at http://share.ez.no/forums/developer/cronjobs-hide-unhide) ? Thanks
Diseño Web Cuba
Web Design Cuba
www.elfosdesign.com
|