$ini = eZINI::instance('content.ini');
$internalDraftsCleanUpLimit = $ini->hasVariable('VersionManagement', 'InternalDraftsCleanUpLimit') ? $ini->variable('VersionManagement', 'InternalDraftsCleanUpLimit') : 0;
$durationSetting = $ini->hasVariable('VersionManagement', 'InternalDraftsDuration') ? $ini->variable('VersionManagement', 'InternalDraftsDuration') : array('hours' => 24);
// by default, only remove drafts older than 1 day
$isDurationSet = false;
$duration = 0;
if (is_array($durationSetting)) {
    if (isset($durationSetting['days']) and is_numeric($durationSetting['days'])) {
        $duration += $durationSetting['days'] * 60 * 60 * 24;
        $isDurationSet = true;
    }
    if (isset($durationSetting['hours']) and is_numeric($durationSetting['hours'])) {
        $duration += $durationSetting['hours'] * 60 * 60;
        $isDurationSet = true;
    }
    if (isset($durationSetting['minutes']) and is_numeric($durationSetting['minutes'])) {
        $duration += $durationSetting['minutes'] * 60;
        $isDurationSet = true;
    }
    if (isset($durationSetting['seconds']) and is_numeric($durationSetting['seconds'])) {
        $duration += $durationSetting['seconds'];
        $isDurationSet = true;
    }
}
if ($isDurationSet) {
    $expiryTime = time() - $duration;
    $processedCount = eZContentObjectVersion::removeVersions(eZContentObjectVersion::STATUS_INTERNAL_DRAFT, $internalDraftsCleanUpLimit, $expiryTime);
    $cli->output("Cleaned up " . $processedCount . " internal drafts");
} else {
    $cli->output("Lifetime is not set for internal drafts (see your ini-settings, content.ini, VersionManagement section).");
}
// Cleaning up usual drafts
$ini = eZINI::instance('content.ini');
$draftsCleanUpLimit = $ini->hasVariable('VersionManagement', 'DraftsCleanUpLimit') ? $ini->variable('VersionManagement', 'DraftsCleanUpLimit') : 0;
$durationSetting = $ini->hasVariable('VersionManagement', 'DraftsDuration') ? $ini->variable('VersionManagement', 'DraftsDuration') : array('days' => 90);
$isDurationSet = false;
$duration = 0;
if (is_array($durationSetting)) {
    if (isset($durationSetting['days']) and is_numeric($durationSetting['days'])) {
        $duration += $durationSetting['days'] * 60 * 60 * 24;
        $isDurationSet = true;
    }
    if (isset($durationSetting['hours']) and is_numeric($durationSetting['hours'])) {
        $duration += $durationSetting['hours'] * 60 * 60;
        $isDurationSet = true;
    }
    if (isset($durationSetting['minutes']) and is_numeric($durationSetting['minutes'])) {
        $duration += $durationSetting['minutes'] * 60;
        $isDurationSet = true;
    }
    if (isset($durationSetting['seconds']) and is_numeric($durationSetting['seconds'])) {
        $duration += $durationSetting['seconds'];
        $isDurationSet = true;
    }
}
if ($isDurationSet) {
    $expiryTime = time() - $duration;
    $processedCount = eZContentObjectVersion::removeVersions(eZContentObjectVersion::STATUS_DRAFT, $draftsCleanUpLimit, $expiryTime);
    $cli->output("Cleaned up " . $processedCount . " drafts");
} else {
    $cli->output("Lifetime is not set for user's drafts (see your ini-settings, content.ini, VersionManagement section).");
}
 /**
  * @param int|bool $versionStatus
  * @deprecated This method is left here only for backward compatibility. Use eZContentObjectVersion::removeVersions() method instead.
  */
 static function removeVersions( $versionStatus = false )
 {
     eZContentObjectVersion::removeVersions( $versionStatus );
 }
Beispiel #4
0
    if ($dbUser !== false) {
        $params['user'] = $dbUser;
        $params['password'] = '';
    }
    if ($dbPassword !== false) {
        $params['password'] = $dbPassword;
    }
    if ($dbName !== false) {
        $params['database'] = $dbName;
    }
    $db = eZDB::instance($dbImpl, $params, true);
    eZDB::setInstance($db);
}
$db->setIsSQLOutputEnabled($showSQL);
if ($flatten['contentobject']) {
    $cli->output("Removing non-published content object versions");
    eZContentObjectVersion::removeVersions();
}
if ($flatten['contentclass']) {
    $cli->output("Removing temporary content classes");
    eZContentClass::removeTemporary();
}
if ($flatten['workflow']) {
    $cli->output("Removing temporary workflows");
    eZWorkflow::removeTemporary();
}
if ($flatten['role']) {
    $cli->output("Removing temporary roles");
    eZRole::removeTemporary();
}
$script->shutdown();