foreach ( $deleteIDArray as $deleteID ) { $version = eZContentObjectVersion::fetch( $deleteID ); if ( $version instanceof eZContentObjectVersion ) { eZDebug::writeNotice( $deleteID, "deleteID" ); $version->removeThis(); } } $db->commit(); } } if ( $http->hasPostVariable( 'EmptyButton' ) ) { $versions = eZContentObjectVersion::fetchForUser( $userID ); $db = eZDB::instance(); $db->begin(); foreach ( $versions as $version ) { $version->removeThis(); } $db->commit(); } $tpl = eZTemplate::factory(); $tpl->setVariable('view_parameters', $viewParameters ); $Result = array(); $Result['content'] = $tpl->fetch( 'design:content/draft.tpl' );
/** * Removes all old internal drafts by the specified user for the past time span given by $timeDuration * * @param int|bool $userID The ID of the user to cleanup for, if false it will use the current user. * @param int $timeDuration default time duration for internal drafts 60*60*24 seconds (1 day) */ static function cleanupAllInternalDrafts( $userID = false, $timeDuration = 86400 ) // { if ( !is_numeric( $timeDuration ) || $timeDuration < 0 ) { eZDebug::writeError( "The time duration must be a positive numeric value (timeDuration = $timeDuration)", __METHOD__ ); return; } if ( $userID === false ) { $userID = eZUser::currentUserID(); } // Remove all internal drafts $untouchedDrafts = eZContentObjectVersion::fetchForUser( $userID, eZContentObjectVersion::STATUS_INTERNAL_DRAFT ); $expiryTime = time() - $timeDuration; // only remove drafts older than time duration (default is 1 day) foreach ( $untouchedDrafts as $untouchedDraft ) { if ( $untouchedDraft->attribute( 'modified' ) < $expiryTime ) { $untouchedDraft->removeThis(); } } }