removed SQLERROR escape from cron uploader, not necessary now that it is individualizing transactions.
Change cron uploader to use constants for dir and config names
This commit is contained in:
parent
ab9389007f
commit
8b531c04a2
@ -15,6 +15,14 @@ class CronUploader extends Extension
|
||||
// TODO: Change logging to MySQL + display log at /cron_upload
|
||||
// TODO: Move stuff to theme.php
|
||||
|
||||
const QUEUE_DIR = "queue";
|
||||
const UPLOADED_DIR = "uploaded";
|
||||
const FAILED_DIR = "failed_to_upload";
|
||||
|
||||
const CONFIG_KEY = "cron_uploader_key";
|
||||
const CONFIG_COUNT = "cron_uploader_count";
|
||||
const CONFIG_DIR = "cron_uploader_dir";
|
||||
|
||||
/**
|
||||
* Lists all log events this session
|
||||
* @var string
|
||||
@ -78,9 +86,9 @@ class CronUploader extends Extension
|
||||
$this->set_dir(); // Determines path to cron_uploader_dir
|
||||
|
||||
|
||||
$queue_dir = $this->root_dir . "/queue";
|
||||
$uploaded_dir = $this->root_dir . "/uploaded";
|
||||
$failed_dir = $this->root_dir . "/failed_to_upload";
|
||||
$queue_dir = $this->root_dir . "/" . self::QUEUE_DIR;
|
||||
$uploaded_dir = $this->root_dir . "/" . self::UPLOADED_DIR;
|
||||
$failed_dir = $this->root_dir . "/" . self::FAILED_DIR;
|
||||
|
||||
$queue_dirinfo = $this->scan_dir($queue_dir);
|
||||
$uploaded_dirinfo = $this->scan_dir($uploaded_dir);
|
||||
@ -157,14 +165,14 @@ class CronUploader extends Extension
|
||||
{
|
||||
global $config;
|
||||
// Set default values
|
||||
$config->set_default_int('cron_uploader_count', 1);
|
||||
$config->set_default_int(self::CONFIG_COUNT, 1);
|
||||
$this->set_dir();
|
||||
|
||||
$this->upload_key = $config->get_string("cron_uploader_key", "");
|
||||
$this->upload_key = $config->get_string(self::CONFIG_KEY, "");
|
||||
if (empty($this->upload_key)) {
|
||||
$this->upload_key = $this->generate_key();
|
||||
|
||||
$config->set_string('cron_uploader_key', $this->upload_key);
|
||||
$config->set_string(self::CONFIG_KEY, $this->upload_key);
|
||||
}
|
||||
}
|
||||
|
||||
@ -178,10 +186,10 @@ class CronUploader extends Extension
|
||||
|
||||
$sb = new SetupBlock("Cron Uploader");
|
||||
$sb->add_label("<b>Settings</b><br>");
|
||||
$sb->add_int_option("cron_uploader_count", "How many to upload each time");
|
||||
$sb->add_text_option("cron_uploader_dir", "<br>Set Cron Uploader root directory<br>");
|
||||
$sb->add_int_option(self::CONFIG_COUNT, "How many to upload each time");
|
||||
$sb->add_text_option(self::CONFIG_DIR, "<br>Set Cron Uploader root directory<br>");
|
||||
|
||||
$sb->add_label("<br>Cron Command: <input type='text' size='60' readonly='readonly' value='".html_escape($cron_cmd)."'><br>
|
||||
$sb->add_label("<br>Cron Command: <input type='text' size='60' readonly='readonly' value='" . html_escape($cron_cmd) . "'><br>
|
||||
Create a cron job with the command above.<br/>
|
||||
<a href='$documentation_link'>Read the documentation</a> if you're not sure what to do.");
|
||||
|
||||
@ -212,23 +220,23 @@ class CronUploader extends Extension
|
||||
global $config;
|
||||
// Determine directory (none = default)
|
||||
|
||||
$dir = $config->get_string("cron_uploader_dir", "");
|
||||
$dir = $config->get_string(self::CONFIG_DIR, "");
|
||||
|
||||
// Sets new default dir if not in config yet/anymore
|
||||
if ($dir == "") {
|
||||
$dir = data_path("cron_uploader");
|
||||
$config->set_string('cron_uploader_dir', $dir);
|
||||
$config->set_string(self::CONFIG_DIR, $dir);
|
||||
}
|
||||
|
||||
// Make the directory if it doesn't exist yet
|
||||
if (!is_dir($dir . "/queue/")) {
|
||||
mkdir($dir . "/queue/", 0775, true);
|
||||
if (!is_dir($dir . "/" . self::QUEUE_DIR . "/")) {
|
||||
mkdir($dir . "/" . self::QUEUE_DIR . "/", 0775, true);
|
||||
}
|
||||
if (!is_dir($dir . "/uploaded/")) {
|
||||
mkdir($dir . "/uploaded/", 0775, true);
|
||||
if (!is_dir($dir . "/" . self::UPLOADED_DIR . "/")) {
|
||||
mkdir($dir . "/" . self::UPLOADED_DIR . "/", 0775, true);
|
||||
}
|
||||
if (!is_dir($dir . "/failed_to_upload/")) {
|
||||
mkdir($dir . "/failed_to_upload/", 0775, true);
|
||||
if (!is_dir($dir . "/" . self::FAILED_DIR . "/")) {
|
||||
mkdir($dir . "/" . self::FAILED_DIR . "/", 0775, true);
|
||||
}
|
||||
|
||||
$this->root_dir = $dir;
|
||||
@ -270,7 +278,7 @@ class CronUploader extends Extension
|
||||
|
||||
// Gets amount of imgs to upload
|
||||
if ($upload_count == 0) {
|
||||
$upload_count = $config->get_int("cron_uploader_count", 1);
|
||||
$upload_count = $config->get_int(self::CONFIG_COUNT, 1);
|
||||
}
|
||||
|
||||
// Throw exception if there's nothing in the queue
|
||||
@ -287,8 +295,6 @@ class CronUploader extends Extension
|
||||
$added = 0;
|
||||
$failed = 0;
|
||||
|
||||
$failedItems = [];
|
||||
|
||||
// Upload the file(s)
|
||||
for ($i = 0; $i < $upload_count && sizeof($this->image_queue) > 0; $i++) {
|
||||
$img = array_pop($this->image_queue);
|
||||
@ -308,11 +314,7 @@ class CronUploader extends Extension
|
||||
$this->move_uploaded($img[0], $img[1], $output_subdir, true);
|
||||
$msgNumber = $this->add_upload_info("(" . gettype($e) . ") " . $e->getMessage());
|
||||
$msgNumber = $this->add_upload_info($e->getTraceAsString());
|
||||
if (strpos($e->getMessage(), 'SQLSTATE') !== false) {
|
||||
// Postgres invalidates the transaction if there is an SQL error,
|
||||
// so all subsequence transactions will fail.
|
||||
break;
|
||||
}
|
||||
|
||||
try {
|
||||
$database->rollback();
|
||||
} catch (Exception $e) {
|
||||
@ -345,10 +347,10 @@ class CronUploader extends Extension
|
||||
// Determine which dir to move to
|
||||
if ($corrupt) {
|
||||
// Move to corrupt dir
|
||||
$newDir .= "/failed_to_upload/" . $output_subdir . $relativeDir;
|
||||
$newDir .= "/" . self::FAILED_DIR . "/" . $output_subdir . $relativeDir;
|
||||
$info = "ERROR: Image was not uploaded.";
|
||||
} else {
|
||||
$newDir .= "/uploaded/" . $output_subdir . $relativeDir;
|
||||
$newDir .= "/" . self::UPLOADED_DIR . "/" . $output_subdir . $relativeDir;
|
||||
$info = "Image successfully uploaded. ";
|
||||
}
|
||||
$newDir = str_replace("//", "/", $newDir . "/");
|
||||
@ -396,7 +398,7 @@ class CronUploader extends Extension
|
||||
|
||||
private function generate_image_queue(): void
|
||||
{
|
||||
$base = $this->root_dir . "/queue";
|
||||
$base = $this->root_dir . "/" . self::QUEUE_DIR;
|
||||
|
||||
if (!is_dir($base)) {
|
||||
$this->add_upload_info("Image Queue Directory could not be found at \"$base\".");
|
||||
|
Loading…
x
Reference in New Issue
Block a user