예제 #1
0
<?php

OCP\JSON::checkAppEnabled('files_versions');
OCP\JSON::callCheck();
$userDirectory = "/" . OCP\USER::getUser() . "/files";
$file = $_GET['file'];
$revision = (int) $_GET['revision'];
if (OCA_Versions\Storage::isversioned($file)) {
    if (OCA_Versions\Storage::rollback($file, $revision)) {
        OCP\JSON::success(array("data" => array("revision" => $revision, "file" => $file)));
    } else {
        OCP\JSON::error(array("data" => array("message" => "Could not revert:" . $file)));
    }
}
예제 #2
0
OCP\User::checkLoggedIn();
OCP\Util::addStyle('files_versions', 'versions');
$tmpl = new OCP\Template('files_versions', 'history', 'user');
if (isset($_GET['path'])) {
    $path = $_GET['path'];
    $path = $path;
    $tmpl->assign('path', $path);
    $versions = new OCA_Versions\Storage();
    // roll back to old version if button clicked
    if (isset($_GET['revert'])) {
        if ($versions->rollback($path, $_GET['revert'])) {
            $tmpl->assign('outcome_stat', 'success');
            $tmpl->assign('outcome_msg', "File {$_GET['path']} was reverted to version " . OCP\Util::formatDate(doubleval($_GET['revert'])));
        } else {
            $tmpl->assign('outcome_stat', 'failure');
            $tmpl->assign('outcome_msg', "File {$_GET['path']} could not be reverted to version " . OCP\Util::formatDate(doubleval($_GET['revert'])));
        }
    }
    // show the history only if there is something to show
    if (OCA_Versions\Storage::isversioned($path)) {
        $count = 999;
        //show the newest revisions
        $versions = OCA_Versions\Storage::getVersions($path, $count);
        $tmpl->assign('versions', array_reverse($versions));
    } else {
        $tmpl->assign('message', 'No old versions available');
    }
} else {
    $tmpl->assign('message', 'No path specified');
}
$tmpl->printPage();
<?php

OCP\JSON::checkAppEnabled('files_versions');
require_once 'apps/files_versions/versions.php';
$userDirectory = "/" . OCP\USER::getUser() . "/files";
$source = $_GET['source'];
$source = strip_tags($source);
if (OCA_Versions\Storage::isversioned($source)) {
    $count = 5;
    //show the newest revisions
    $versions = OCA_Versions\Storage::getversions($source, $count);
    $versionsSorted = array_reverse($versions);
    if (!empty($versionsSorted)) {
        OCP\JSON::encodedPrint($versionsSorted);
    }
} else {
    return;
}
예제 #4
0
 * @author Sam Tuke
 * @copyright 2012 Sam Tuke samtuke@owncloud.com
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
 * License as published by the Free Software Foundation; either
 * version 3 of the License, or any later version.
 *
 * This library 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 AFFERO GENERAL PUBLIC LICENSE for more details.
 *
 * You should have received a copy of the GNU Affero General Public
 * License along with this library.  If not, see <http://www.gnu.org/licenses/>.
 *
 */
// TODO: Allow admins to expire versions of any user
// TODO: Provide feedback as to how many versions were deleted
// Check user and app status
OCP\JSON::checkLoggedIn();
OCP\App::checkAppEnabled('files_versions');
OCP\JSON::callCheck();
$versions = new OCA_Versions\Storage();
if ($versions->expireAll()) {
    OCP\JSON::success();
    die;
} else {
    OCP\JSON::error();
    die;
}