Пример #1
0
 public static function submitUpdate($addon, $version, $file, $changelog, $restart)
 {
     if (!is_object($addon)) {
         $addon = AddonManager::getFromID($addon);
     }
     //remove pre-existing updates, merge changelogs
     $db = new DatabaseManager();
     $ups = AddonManager::getUpdates($addon);
     foreach ($ups as $up) {
         if ($up->isPending()) {
             return array("message" => "Update already pending. Wait for approval or cancel previous update.");
         }
     }
     $db->query("INSERT INTO `addon_updates` (`id`, `aid`, `version`, `tempfile`, `changelog`, `submitted`, `restart`, `approved`) VALUES (NULL, " . "'" . $addon->getId() . "'," . "'" . $db->sanitize($version) . "'," . "'" . $db->sanitize($file) . "'," . "'" . $db->sanitize($changelog) . "'," . "CURRENT_TIMESTAMP," . "b'" . ($up ? 1 : 0) . "'," . "NULL);");
     $error = $db->error();
     if ($error != "") {
         return array("message" => "Database error: " . $error);
     }
     return array("message" => "You're being redirected...", "redirect" => "/addons/review/update.php?id=" . $addon->getId());
 }
Пример #2
0
<?php

require_once dirname(__DIR__) . "/../private/class/AddonManager.php";
header('Content-Type: text/tml');
$addon = AddonManager::getFromId($_REQUEST['id']);
if ($addon === false) {
    die("Error: add-on doesn't exist");
}
$updates = AddonManager::getUpdates($addon);
foreach ($updates as $up) {
    echo "<version:" . $up->getVersion() . ">\n";
    echo $up->getChangeLog();
    echo "\n</version>\n";
}
Пример #3
0
  width: 870px;
  font-size: 0.8em;
}
.diff td {
  font-size: 0.8em;
  width: 50%;
  vertical-align : top;
  white-space    : pre;
  white-space    : pre-wrap;
  font-family    : monospace;
}

.diffDeleted {
  border: 1px solid rgb(255,192,192);
  background: rgb(255,224,224);
}

.diffInserted {
  border: 1px solid rgb(192,255,192);
  background: rgb(224,255,224);
}
</style>
<?php 
require_once dirname(__DIR__) . '/class/AddonManager.php';
require_once dirname(__DIR__) . '/class/AddonUpdateObject.php';
$up = AddonManager::getUpdates(AddonManager::getFromId(4));
$up = $up[0];
$diff = $up->getDiff();
foreach ($diff['changes'] as $file => $table) {
    echo $file . "<br />" . $table . "<hr />";
}
Пример #4
0
$reviewer = false;
$owner = false;
if ($userObject->getBlid() == $addon->getManagerBLID()) {
    $owner = true;
}
if ((!$userObject || !$userObject->inGroup("Reviewer")) && !$owner) {
    header('Location: /addons');
    return;
} else {
    $reviewer = true;
}
if ($reviewer) {
    if (isset($_POST['action']) && is_object($userObject)) {
        if ($_POST['action'] == "Approve") {
            // approve
            $update = AddonManager::getUpdates($addon)[0];
            try {
                AddonManager::approveUpdate($update);
            } catch (Exception $e) {
            }
            header('Location: updates.php');
        } else {
            if ($_POST['action'] == "Reject") {
                // reject
            }
        }
    }
}
if ($owner) {
    if ($_POST['action'] == "Cancel Update") {
    }
Пример #5
0
 public function getRestartVersion()
 {
     $ups = AddonManager::getUpdates($this);
     foreach ($ups as $up) {
         if ($up->isRestart()) {
             return $up->getVersion();
         }
     }
     return "0";
 }