This commit is contained in:
Shish 2023-11-11 21:49:12 +00:00
parent 848797030e
commit fd1bb21f9d
235 changed files with 1551 additions and 1591 deletions

536
composer.lock generated

File diff suppressed because it is too large Load diff

View file

@ -260,7 +260,7 @@ class BasePage
*/
public function display(): void
{
if ($this->mode!=PageMode::MANUAL) {
if ($this->mode != PageMode::MANUAL) {
$this->send_headers();
}
@ -474,14 +474,14 @@ class BasePage
$active_link = null;
// To save on event calls, we check if one of the top-level links has already been marked as active
foreach ($nav_links as $link) {
if ($link->active===true) {
if ($link->active === true) {
$active_link = $link;
break;
}
}
$sub_links = null;
// If one is, we just query for sub-menu options under that one tab
if ($active_link!==null) {
if ($active_link !== null) {
$psnbe = send_event(new PageSubNavBuildingEvent($active_link->name));
$sub_links = $psnbe->links;
} else {
@ -491,20 +491,20 @@ class BasePage
// Now we check for a current link so we can identify the sub-links to show
foreach ($psnbe->links as $sub_link) {
if ($sub_link->active===true) {
if ($sub_link->active === true) {
$sub_links = $psnbe->links;
break;
}
}
// If the active link has been detected, we break out
if ($sub_links!==null) {
if ($sub_links !== null) {
$link->active = true;
break;
}
}
}
$sub_links = $sub_links??[];
$sub_links = $sub_links ?? [];
usort($nav_links, "Shimmie2\sort_nav_links");
usort($sub_links, "Shimmie2\sort_nav_links");
@ -628,7 +628,7 @@ class PageSubNavBuildingEvent extends Event
public function __construct(string $parent)
{
parent::__construct();
$this->parent= $parent;
$this->parent = $parent;
}
public function add_nav_link(string $name, Link $link, string|HTMLElement $desc, ?bool $active = null, int $order = 50)
@ -653,7 +653,7 @@ class NavLink
$this->link = $link;
$this->description = $description;
$this->order = $order;
if ($active==null) {
if ($active == null) {
$query = ltrim(_get_query(), "/");
if ($query === "") {
// This indicates the front page, so we check what's set as the front page
@ -664,7 +664,7 @@ class NavLink
} else {
$this->active = self::is_active([$link->page], $front_page);
}
} elseif ($query===$link->page) {
} elseif ($query === $link->page) {
$this->active = true;
} else {
$this->active = self::is_active([$link->page]);
@ -679,18 +679,18 @@ class NavLink
/**
* Woo! We can actually SEE THE CURRENT PAGE!! (well... see it highlighted in the menu.)
*/
$url = $url??ltrim(_get_query(), "/");
$url = $url ?? ltrim(_get_query(), "/");
$re1='.*?';
$re2='((?:[a-z][a-z_]+))';
$re1 = '.*?';
$re2 = '((?:[a-z][a-z_]+))';
if (preg_match_all("/".$re1.$re2."/is", $url, $matches)) {
$url=$matches[1][0];
$url = $matches[1][0];
}
$count_pages_matched = count($pages_matched);
for ($i=0; $i < $count_pages_matched; $i++) {
for ($i = 0; $i < $count_pages_matched; $i++) {
if ($url == $pages_matched[$i]) {
return true;
}

View file

@ -81,22 +81,22 @@ class BaseThemelet
return A(
[
"href"=>$view_link,
"class"=>"thumb shm-thumb shm-thumb-link $custom_classes",
"data-tags"=>$tags,
"data-height"=>$image->height,
"data-width"=>$image->width,
"data-mime"=>$image->get_mime(),
"data-post-id"=>$id,
"href" => $view_link,
"class" => "thumb shm-thumb shm-thumb-link $custom_classes",
"data-tags" => $tags,
"data-height" => $image->height,
"data-width" => $image->width,
"data-mime" => $image->get_mime(),
"data-post-id" => $id,
],
IMG(
[
"id"=>"thumb_$id",
"title"=>$tip,
"alt"=>$tip,
"height"=>$tsize[1],
"width"=>$tsize[0],
"src"=>$thumb_link,
"id" => "thumb_$id",
"title" => $tip,
"alt" => $tip,
"height" => $tsize[1],
"width" => $tsize[0],
"src" => $thumb_link,
]
)
);
@ -112,18 +112,18 @@ class BaseThemelet
$page->add_html_header("<link rel='first' href='".make_http(make_link($base.'/1', $query))."'>");
if ($page_number < $total_pages) {
$page->add_html_header("<link rel='prefetch' href='".make_http(make_link($base.'/'.($page_number+1), $query))."'>");
$page->add_html_header("<link rel='next' href='".make_http(make_link($base.'/'.($page_number+1), $query))."'>");
$page->add_html_header("<link rel='prefetch' href='".make_http(make_link($base.'/'.($page_number + 1), $query))."'>");
$page->add_html_header("<link rel='next' href='".make_http(make_link($base.'/'.($page_number + 1), $query))."'>");
}
if ($page_number > 1) {
$page->add_html_header("<link rel='previous' href='".make_http(make_link($base.'/'.($page_number-1), $query))."'>");
$page->add_html_header("<link rel='previous' href='".make_http(make_link($base.'/'.($page_number - 1), $query))."'>");
}
$page->add_html_header("<link rel='last' href='".make_http(make_link($base.'/'.$total_pages, $query))."'>");
}
private function gen_page_link(string $base_url, ?string $query, int $page, string $name): HTMLElement
{
return A(["href"=>make_link($base_url.'/'.$page, $query)], $name);
return A(["href" => make_link($base_url.'/'.$page, $query)], $name);
}
private function gen_page_link_block(string $base_url, ?string $query, int $page, int $current_page, string $name): HTMLElement

View file

@ -45,7 +45,7 @@ class Block
*/
public bool $is_content = true;
public function __construct(string $header=null, string|\MicroHTML\HTMLElement $body=null, string $section="main", int $position=50, string $id=null)
public function __construct(string $header = null, string|\MicroHTML\HTMLElement $body = null, string $section = "main", int $position = 50, string $id = null)
{
$this->header = $header;
$this->body = (string)$body;
@ -63,7 +63,7 @@ class Block
/**
* Get the HTML for this block.
*/
public function get_html(bool $hidable=false): string
public function get_html(bool $hidable = false): string
{
$h = $this->header;
$b = $this->body;

View file

@ -10,8 +10,8 @@ class EventTracingCache implements CacheInterface
{
private CacheInterface $engine;
private \EventTracer $tracer;
private int $hits=0;
private int $misses=0;
private int $hits = 0;
private int $misses = 0;
public function __construct(CacheInterface $engine, \EventTracer $tracer)
{
@ -19,7 +19,7 @@ class EventTracingCache implements CacheInterface
$this->tracer = $tracer;
}
public function get($key, $default=null)
public function get($key, $default = null)
{
if ($key === "__etc_cache_hits") {
return $this->hits;
@ -29,7 +29,7 @@ class EventTracingCache implements CacheInterface
}
$sentinel = "__etc_sentinel";
$this->tracer->begin("Cache Get", ["key"=>$key]);
$this->tracer->begin("Cache Get", ["key" => $key]);
$val = $this->engine->get($key, $sentinel);
if ($val != $sentinel) {
$res = "hit";
@ -39,13 +39,13 @@ class EventTracingCache implements CacheInterface
$val = $default;
$this->misses++;
}
$this->tracer->end(null, ["result"=>$res]);
$this->tracer->end(null, ["result" => $res]);
return $val;
}
public function set($key, $value, $ttl = null)
{
$this->tracer->begin("Cache Set", ["key"=>$key, "ttl"=>$ttl]);
$this->tracer->begin("Cache Set", ["key" => $key, "ttl" => $ttl]);
$val = $this->engine->set($key, $value, $ttl);
$this->tracer->end();
return $val;
@ -53,7 +53,7 @@ class EventTracingCache implements CacheInterface
public function delete($key)
{
$this->tracer->begin("Cache Delete", ["key"=>$key]);
$this->tracer->begin("Cache Delete", ["key" => $key]);
$val = $this->engine->delete($key);
$this->tracer->end();
return $val;
@ -93,9 +93,9 @@ class EventTracingCache implements CacheInterface
public function has($key)
{
$this->tracer->begin("Cache Has", ["key"=>$key]);
$this->tracer->begin("Cache Has", ["key" => $key]);
$val = $this->engine->has($key);
$this->tracer->end(null, ["exists"=>$val]);
$this->tracer->end(null, ["exists" => $val]);
return $val;
}
}

View file

@ -61,7 +61,7 @@ class CommandBuilder
log_debug('command_builder', "Command `$cmd` returned $ret and outputted $output");
if ($fail_on_non_zero_return&&(int)$ret!==(int)0) {
if ($fail_on_non_zero_return && (int)$ret !== (int)0) {
throw new SCoreException("Command `$cmd` failed, returning $ret and outputting $output");
}
return $ret;

View file

@ -16,7 +16,7 @@ interface Config
* so that the next time a page is loaded it will use the new
* configuration.
*/
public function save(string $name=null): void;
public function save(string $name = null): void;
//@{ /*--------------------------------- SET ------------------------------------------------------*/
/**
@ -101,27 +101,27 @@ interface Config
/**
* Pick a value out of the table by name, cast to the appropriate data type.
*/
public function get_int(string $name, ?int $default=null): ?int;
public function get_int(string $name, ?int $default = null): ?int;
/**
* Pick a value out of the table by name, cast to the appropriate data type.
*/
public function get_float(string $name, ?float $default=null): ?float;
public function get_float(string $name, ?float $default = null): ?float;
/**
* Pick a value out of the table by name, cast to the appropriate data type.
*/
public function get_string(string $name, ?string $default=null): ?string;
public function get_string(string $name, ?string $default = null): ?string;
/**
* Pick a value out of the table by name, cast to the appropriate data type.
*/
public function get_bool(string $name, ?bool $default=null): ?bool;
public function get_bool(string $name, ?bool $default = null): ?bool;
/**
* Pick a value out of the table by name, cast to the appropriate data type.
*/
public function get_array(string $name, ?array $default=[]): ?array;
public function get_array(string $name, ?array $default = []): ?array;
//@} /*--------------------------------------------------------------------------------------------*/
}
@ -162,7 +162,7 @@ abstract class BaseConfig implements Config
public function set_array(string $name, ?array $value): void
{
if ($value!=null) {
if ($value != null) {
$this->values[$name] = implode(",", $value);
} else {
$this->values[$name] = null;
@ -205,17 +205,17 @@ abstract class BaseConfig implements Config
}
}
public function get_int(string $name, ?int $default=null): ?int
public function get_int(string $name, ?int $default = null): ?int
{
return (int)($this->get($name, $default));
}
public function get_float(string $name, ?float $default=null): ?float
public function get_float(string $name, ?float $default = null): ?float
{
return (float)($this->get($name, $default));
}
public function get_string(string $name, ?string $default=null): ?string
public function get_string(string $name, ?string $default = null): ?string
{
$val = $this->get($name, $default);
if (!is_string($val) && !is_null($val)) {
@ -224,17 +224,17 @@ abstract class BaseConfig implements Config
return $val;
}
public function get_bool(string $name, ?bool $default=null): ?bool
public function get_bool(string $name, ?bool $default = null): ?bool
{
return bool_escape($this->get($name, $default));
}
public function get_array(string $name, ?array $default=[]): ?array
public function get_array(string $name, ?array $default = []): ?array
{
return explode(",", $this->get($name, ""));
}
private function get(string $name, $default=null)
private function get(string $name, $default = null)
{
if (isset($this->values[$name])) {
return $this->values[$name];
@ -289,7 +289,7 @@ class DatabaseConfig extends BaseConfig
$query = "SELECT name, value FROM {$this->table_name}";
$args = [];
if (!empty($sub_column)&&!empty($sub_value)) {
if (!empty($sub_column) && !empty($sub_value)) {
$query .= " WHERE $sub_column = :sub_value";
$args["sub_value"] = $sub_value;
}
@ -301,7 +301,7 @@ class DatabaseConfig extends BaseConfig
}
}
public function save(string $name=null): void
public function save(string $name = null): void
{
global $cache;
@ -312,10 +312,10 @@ class DatabaseConfig extends BaseConfig
}
} else {
$query = "DELETE FROM {$this->table_name} WHERE name = :name";
$args = ["name"=>$name];
$args = ["name" => $name];
$cols = ["name","value"];
$params = [":name",":value"];
if (!empty($this->sub_column)&&!empty($this->sub_value)) {
if (!empty($this->sub_column) && !empty($this->sub_value)) {
$query .= " AND $this->sub_column = :sub_value";
$args["sub_value"] = $this->sub_value;
$cols[] = $this->sub_column;
@ -324,7 +324,7 @@ class DatabaseConfig extends BaseConfig
$this->database->execute($query, $args);
$args["value"] =$this->values[$name];
$args["value"] = $this->values[$name];
$this->database->execute(
"INSERT INTO {$this->table_name} (".join(",", $cols).") VALUES (".join(",", $params).")",
$args

View file

@ -57,7 +57,7 @@ class Database
private function connect_engine(): void
{
if (preg_match("/^([^:]*)/", $this->dsn, $matches)) {
$db_proto=$matches[1];
$db_proto = $matches[1];
} else {
throw new SCoreException("Can't figure out database engine");
}
@ -138,7 +138,7 @@ class Database
$query = preg_replace('/ +/m', ' ', $query);
$query = trim($query);
if ($tracer_enabled) {
$_tracer->complete($start * 1000000, $dur * 1000000, "DB Query", ["query"=>$query, "args"=>$args, "method"=>$method]);
$_tracer->complete($start * 1000000, $dur * 1000000, "DB Query", ["query" => $query, "args" => $args, "method" => $method]);
}
$this->queries[] = $query;
$this->query_count++;
@ -150,7 +150,7 @@ class Database
$this->get_engine()->set_timeout($this->get_db(), $time);
}
public function notify(string $channel, ?string $data=null): void
public function notify(string $channel, ?string $data = null): void
{
$this->get_engine()->notify($this->get_db(), $channel, $data);
}
@ -285,7 +285,7 @@ class Database
$_start = ftime();
$row = $this->_execute($query, $args)->fetch();
$this->count_time("exists", $_start, $query, $args);
if ($row==null) {
if ($row == null) {
return false;
}
return true;
@ -346,7 +346,7 @@ class Database
return $this->get_db();
}
public function standardise_boolean(string $table, string $column, bool $include_postgres=false): void
public function standardise_boolean(string $table, string $column, bool $include_postgres = false): void
{
$d = $this->get_driver_id();
if ($d == DatabaseDriverID::MYSQL) {

View file

@ -34,7 +34,7 @@ abstract class DBEngine
abstract public function get_version(PDO $db): string;
abstract public function notify(PDO $db, string $channel, ?string $data=null): void;
abstract public function notify(PDO $db, string $channel, ?string $data = null): void;
}
class MySQL extends DBEngine
@ -66,7 +66,7 @@ class MySQL extends DBEngine
// $db->exec("SET SESSION MAX_EXECUTION_TIME=".$time.";");
}
public function notify(PDO $db, string $channel, ?string $data=null): void
public function notify(PDO $db, string $channel, ?string $data = null): void
{
}
@ -113,7 +113,7 @@ class PostgreSQL extends DBEngine
$db->exec("SET statement_timeout TO ".$time.";");
}
public function notify(PDO $db, string $channel, ?string $data=null): void
public function notify(PDO $db, string $channel, ?string $data = null): void
{
if ($data) {
$db->exec("NOTIFY $channel, '$data';");
@ -141,7 +141,7 @@ function _floor($a): float
{
return floor($a);
}
function _log($a, $b=null): float
function _log($a, $b = null): float
{
if (is_null($b)) {
return log($a);
@ -225,7 +225,7 @@ class SQLite extends DBEngine
// There doesn't seem to be such a thing for SQLite, so it does nothing
}
public function notify(PDO $db, string $channel, ?string $data=null): void
public function notify(PDO $db, string $channel, ?string $data = null): void
{
}

View file

@ -87,7 +87,7 @@ class PageRequestEvent extends Event
return false;
}
for ($i=0; $i<$this->part_count; $i++) {
for ($i = 0; $i < $this->part_count; $i++) {
if ($parts[$i] != $this->args[$i]) {
return false;
}
@ -114,7 +114,7 @@ class PageRequestEvent extends Event
* If page arg $n is set, then treat that as a 1-indexed page number
* and return a 0-indexed page number less than $max; else return 0
*/
public function try_page_num(int $n, ?int $max=null): int
public function try_page_num(int $n, ?int $max = null): int
{
if ($this->count_args() > $n) {
$i = $this->get_arg($n);
@ -195,7 +195,7 @@ class CommandEvent extends Event
$log_level = SCORE_LOG_WARNING;
$arg_count = count($args);
for ($i=1; $i<$arg_count; $i++) {
for ($i = 1; $i < $arg_count; $i++) {
switch ($args[$i]) {
case '-u':
$user = User::by_name($args[++$i]);

View file

@ -13,7 +13,7 @@ class SCoreException extends \RuntimeException
public string $error;
public int $http_code = 500;
public function __construct(string $msg, ?string $query=null)
public function __construct(string $msg, ?string $query = null)
{
parent::__construct($msg);
$this->error = $msg;

View file

@ -69,7 +69,7 @@ abstract class Extension
$extras
) as $key) {
$ext = ExtensionInfo::get_by_key($key);
if ($ext===null || !$ext->is_supported()) {
if ($ext === null || !$ext->is_supported()) {
continue;
}
// FIXME: error if one of our dependencies isn't supported
@ -123,7 +123,7 @@ abstract class ExtensionInfo
public const SHISH_NAME = "Shish";
public const SHISH_EMAIL = "webmaster@shishnet.org";
public const SHIMMIE_URL = "https://code.shishnet.org/shimmie2/";
public const SHISH_AUTHOR = [self::SHISH_NAME=>self::SHISH_EMAIL];
public const SHISH_AUTHOR = [self::SHISH_NAME => self::SHISH_EMAIL];
public const LICENSE_GPLV2 = "GPLv2";
public const LICENSE_MIT = "MIT";
@ -152,7 +152,7 @@ abstract class ExtensionInfo
public function is_supported(): bool
{
if ($this->supported===null) {
if ($this->supported === null) {
$this->check_support();
}
return $this->supported;
@ -160,7 +160,7 @@ abstract class ExtensionInfo
public function get_support_info(): string
{
if ($this->supported===null) {
if ($this->supported === null) {
$this->check_support();
}
return $this->support_info;
@ -249,7 +249,7 @@ abstract class ExtensionInfo
self::$all_info_by_key[$extension_info->key] = $extension_info;
self::$all_info_by_class[$class] = $extension_info;
if ($extension_info->core===true) {
if ($extension_info->core === true) {
self::$core_extensions[] = $extension_info->key;
}
}

View file

@ -84,7 +84,7 @@ class ThumbnailGenerationEvent extends Event
public function __construct(
public string $hash,
public string $mime,
public bool $force=false
public bool $force = false
) {
parent::__construct();
$this->generated = false;

View file

@ -63,7 +63,7 @@ class Image
* One will very rarely construct an image directly, more common
* would be to use Image::by_id, Image::by_hash, etc.
*/
public function __construct(?array $row=null)
public function __construct(?array $row = null)
{
if (!is_null($row)) {
foreach ($row as $name => $value) {
@ -103,11 +103,11 @@ class Image
public static function by_id(int $post_id): ?Image
{
global $database;
if ($post_id > 2**32) {
if ($post_id > 2 ** 32) {
// for some reason bots query huge numbers and pollute the DB error logs...
return null;
}
$row = $database->get_row("SELECT * FROM images WHERE images.id=:id", ["id"=>$post_id]);
$row = $database->get_row("SELECT * FROM images WHERE images.id=:id", ["id" => $post_id]);
return ($row ? new Image($row) : null);
}
@ -115,7 +115,7 @@ class Image
{
global $database;
$hash = strtolower($hash);
$row = $database->get_row("SELECT images.* FROM images WHERE hash=:hash", ["hash"=>$hash]);
$row = $database->get_row("SELECT images.* FROM images WHERE hash=:hash", ["hash" => $hash]);
return ($row ? new Image($row) : null);
}
@ -124,7 +124,7 @@ class Image
return (is_numeric($id) && strlen($id) != 32) ? Image::by_id((int)$id) : Image::by_hash($id);
}
public static function by_random(array $tags=[], int $limit_range=0): ?Image
public static function by_random(array $tags = [], int $limit_range = 0): ?Image
{
$max = Image::count_images($tags);
if ($max < 1) {
@ -133,7 +133,7 @@ class Image
if ($limit_range > 0 && $max > $limit_range) {
$max = $limit_range;
}
$rand = mt_rand(0, $max-1);
$rand = mt_rand(0, $max - 1);
$set = Image::find_images($rand, 1, $tags);
if (count($set) > 0) {
return $set[0];
@ -142,7 +142,7 @@ class Image
}
}
private static function find_images_internal(int $start = 0, ?int $limit = null, array $tags=[]): iterable
private static function find_images_internal(int $start = 0, ?int $limit = null, array $tags = []): iterable
{
global $database, $user;
@ -170,7 +170,7 @@ class Image
* @return Image[]
*/
#[Query(name: "posts", type: "[Post!]!", args: ["tags" => "[string!]"])]
public static function find_images(int $offset = 0, ?int $limit = null, array $tags=[]): array
public static function find_images(int $offset = 0, ?int $limit = null, array $tags = []): array
{
$result = self::find_images_internal($offset, $limit, $tags);
@ -184,7 +184,7 @@ class Image
/**
* Search for an array of images, returning a iterable object of Image
*/
public static function find_images_iterable(int $start = 0, ?int $limit = null, array $tags=[]): \Generator
public static function find_images_iterable(int $start = 0, ?int $limit = null, array $tags = []): \Generator
{
$result = self::find_images_internal($start, $limit, $tags);
foreach ($result as $row) {
@ -212,7 +212,7 @@ class Image
global $database;
return (int)$database->get_one(
"SELECT count FROM tags WHERE LOWER(tag) = LOWER(:tag)",
["tag"=>$tag]
["tag" => $tag]
);
}
@ -221,7 +221,7 @@ class Image
*
* @param string[] $tags
*/
public static function count_images(array $tags=[]): int
public static function count_images(array $tags = []): int
{
global $cache, $database;
$tag_count = count($tags);
@ -266,7 +266,7 @@ class Image
*
* @param string[] $tags
*/
public static function count_pages(array $tags=[]): int
public static function count_pages(array $tags = []): int
{
global $config;
return (int)ceil(Image::count_images($tags) / $config->get_int(IndexConfig::IMAGES));
@ -284,7 +284,7 @@ class Image
*
* @param string[] $tags
*/
public function get_next(array $tags=[], bool $next=true): ?Image
public function get_next(array $tags = [], bool $next = true): ?Image
{
global $database;
@ -320,7 +320,7 @@ class Image
*
* @param string[] $tags
*/
public function get_prev(array $tags=[]): ?Image
public function get_prev(array $tags = []): ?Image
{
return $this->get_next($tags, false);
}
@ -345,7 +345,7 @@ class Image
UPDATE images
SET owner_id=:owner_id
WHERE id=:id
", ["owner_id"=>$owner->id, "id"=>$this->id]);
", ["owner_id" => $owner->id, "id" => $this->id]);
log_info("core_image", "Owner for Post #{$this->id} set to {$owner->name}");
}
}
@ -440,7 +440,7 @@ class Image
JOIN tags ON image_tags.tag_id = tags.id
WHERE image_id=:id
ORDER BY tag
", ["id"=>$this->id]);
", ["id" => $this->id]);
sort($this->tag_array);
}
return $this->tag_array;
@ -569,7 +569,7 @@ class Image
#[Field(name: "mime")]
public function get_mime(): ?string
{
if ($this->mime===MimeType::WEBP&&$this->lossless) {
if ($this->mime === MimeType::WEBP && $this->lossless) {
return MimeType::WEBP_LOSSLESS;
}
$m = $this->mime;
@ -610,7 +610,7 @@ class Image
$new_source = null;
}
if ($new_source != $old_source) {
$database->execute("UPDATE images SET source=:source WHERE id=:id", ["source"=>$new_source, "id"=>$this->id]);
$database->execute("UPDATE images SET source=:source WHERE id=:id", ["source" => $new_source, "id" => $this->id]);
log_info("core_image", "Source for Post #{$this->id} set to: $new_source (was $old_source)");
}
}
@ -627,7 +627,7 @@ class Image
{
global $database;
if ($locked !== $this->locked) {
$database->execute("UPDATE images SET locked=:yn WHERE id=:id", ["yn"=>$locked, "id"=>$this->id]);
$database->execute("UPDATE images SET locked=:yn WHERE id=:id", ["yn" => $locked, "id" => $this->id]);
log_info("core_image", "Setting Post #{$this->id} lock to: $locked");
}
}
@ -648,12 +648,12 @@ class Image
FROM image_tags
WHERE image_id = :id
)
", ["id"=>$this->id]);
", ["id" => $this->id]);
$database->execute("
DELETE
FROM image_tags
WHERE image_id=:id
", ["id"=>$this->id]);
", ["id" => $this->id]);
}
/**
@ -699,7 +699,7 @@ class Image
FROM image_tags
WHERE image_id = :id
)
", ["id"=>$this->id]);
", ["id" => $this->id]);
log_info("core_image", "Tags for Post #{$this->id} set to: ".Tag::implode($tags));
$cache->delete("image-{$this->id}-tags");
@ -713,7 +713,7 @@ class Image
{
global $database;
$this->delete_tags_from_image();
$database->execute("DELETE FROM images WHERE id=:id", ["id"=>$this->id]);
$database->execute("DELETE FROM images WHERE id=:id", ["id" => $this->id]);
log_info("core_image", 'Deleted Post #'.$this->id.' ('.$this->hash.')');
unlink($this->get_image_filename());
@ -731,7 +731,7 @@ class Image
@unlink($this->get_thumb_filename());
}
public function parse_link_template(string $tmpl, int $n=0): string
public function parse_link_template(string $tmpl, int $n = 0): string
{
$plte = send_event(new ParseLinkTemplateEvent($tmpl, $this));
$tmpl = $plte->link;
@ -753,8 +753,8 @@ class Image
*/
private static function build_search_querylet(
array $terms,
?int $limit=null,
?int $offset=null
?int $limit = null,
?int $offset = null
): Querylet {
global $config;
@ -827,7 +827,7 @@ class Image
LIMIT :limit OFFSET :offset
) a on a.image_id = images.id
ORDER BY images.id DESC
", ["limit"=>$limit, "offset"=>$offset]);
", ["limit" => $limit, "offset" => $offset]);
// don't offset at the image level because
// we already offset at the image_tags level
$order = null;
@ -849,11 +849,11 @@ class Image
if ($tq->positive) {
$all_nonexistent_negatives = false;
if ($tag_count== 0) {
if ($tag_count == 0) {
# one of the positive tags had zero results, therefor there
# can be no results; "where 1=0" should shortcut things
return new Querylet("SELECT images.* FROM images WHERE 1=0");
} elseif ($tag_count==1) {
} elseif ($tag_count == 1) {
// All wildcard terms that qualify for a single tag can be treated the same as non-wildcards
$positive_tag_id_array[] = $tag_ids[0];
} else {

View file

@ -39,7 +39,7 @@ function add_dir(string $base): array
/**
* Sends a DataUploadEvent for a file.
*/
function add_image(string $tmpname, string $filename, string $tags, ?string $source=null): DataUploadEvent
function add_image(string $tmpname, string $filename, string $tags, ?string $source = null): DataUploadEvent
{
return send_event(new DataUploadEvent($tmpname, [
'filename' => pathinfo($filename, PATHINFO_BASENAME),
@ -111,12 +111,12 @@ function get_thumbnail_size(int $orig_width, int $orig_height, bool $use_dpi_sca
function get_scaled_by_aspect_ratio(int $original_width, int $original_height, int $max_width, int $max_height): array
{
$xscale = ($max_width/ $original_width);
$yscale = ($max_height/ $original_height);
$xscale = ($max_width / $original_width);
$yscale = ($max_height / $original_height);
$scale = ($yscale < $xscale) ? $yscale : $xscale ;
return [(int)($original_width*$scale), (int)($original_height*$scale), $scale];
return [(int)($original_width * $scale), (int)($original_height * $scale), $scale];
}
/**
@ -129,8 +129,8 @@ function get_thumbnail_max_size_scaled(): array
global $config;
$scaling = $config->get_int(ImageConfig::THUMB_SCALING);
$max_width = $config->get_int(ImageConfig::THUMB_WIDTH) * ($scaling/100);
$max_height = $config->get_int(ImageConfig::THUMB_HEIGHT) * ($scaling/100);
$max_width = $config->get_int(ImageConfig::THUMB_WIDTH) * ($scaling / 100);
$max_height = $config->get_int(ImageConfig::THUMB_HEIGHT) * ($scaling / 100);
return [$max_width, $max_height];
}

View file

@ -8,7 +8,7 @@ class Querylet
{
public function __construct(
public string $sql,
public array $variables=[],
public array $variables = [],
) {
}

View file

@ -26,7 +26,7 @@ class TagUsage
* @return TagUsage[]
*/
#[Query(name: "tags", type: '[TagUsage!]!')]
public static function tags(string $search, int $limit=10): array
public static function tags(string $search, int $limit = 10): array
{
global $cache, $database;
@ -48,7 +48,7 @@ class TagUsage
$limitSQL = "";
$search = str_replace('_', '\_', $search);
$search = str_replace('%', '\%', $search);
$SQLarr = ["search"=>"$search%"]; #, "cat_search"=>"%:$search%"];
$SQLarr = ["search" => "$search%"]; #, "cat_search"=>"%:$search%"];
if ($limit !== 0) {
$limitSQL = "LIMIT :limit";
$SQLarr['limit'] = $limit;
@ -104,17 +104,17 @@ class Tag
$id = $database->get_one(
"SELECT id FROM tags WHERE LOWER(tag) = LOWER(:tag)",
["tag"=>$tag]
["tag" => $tag]
);
if (empty($id)) {
// a new tag
$database->execute(
"INSERT INTO tags(tag) VALUES (:tag)",
["tag"=>$tag]
["tag" => $tag]
);
$id = $database->get_one(
"SELECT id FROM tags WHERE LOWER(tag) = LOWER(:tag)",
["tag"=>$tag]
["tag" => $tag]
);
}
@ -125,7 +125,7 @@ class Tag
/** @param string[] $tags */
public static function implode(array $tags): string
{
sort($tags, SORT_FLAG_CASE|SORT_STRING);
sort($tags, SORT_FLAG_CASE | SORT_STRING);
return implode(' ', $tags);
}
@ -134,7 +134,7 @@ class Tag
*
* #return string[]
*/
public static function explode(string $tags, bool $tagme=true): array
public static function explode(string $tags, bool $tagme = true): array
{
global $database;
@ -152,7 +152,7 @@ class Tag
$new = [];
$i = 0;
$tag_count = count($tag_array);
while ($i<$tag_count) {
while ($i < $tag_count) {
$tag = $tag_array[$i];
$negative = '';
if (!empty($tag) && ($tag[0] == '-')) {
@ -166,7 +166,7 @@ class Tag
FROM aliases
WHERE LOWER(oldtag)=LOWER(:tag)
",
["tag"=>$tag]
["tag" => $tag]
);
if (empty($newtags)) {
//tag has no alias, use old tag
@ -217,7 +217,7 @@ class Tag
public static function compare(array $tags1, array $tags2): bool
{
if (count($tags1)!==count($tags2)) {
if (count($tags1) !== count($tags2)) {
return false;
}
@ -312,7 +312,7 @@ class Tag
$out = "";
$length = strlen($str);
for ($i=0; $i<$length; $i++) {
for ($i = 0; $i < $length; $i++) {
if ($str[$i] == "^") {
$i++;
$out .= $from_caret[$str[$i]] ?? '';

View file

@ -16,12 +16,12 @@ define("SCORE_LOG_DEBUG", 10);
define("SCORE_LOG_NOTSET", 0);
const LOGGING_LEVEL_NAMES = [
SCORE_LOG_NOTSET=>"Not Set",
SCORE_LOG_DEBUG=>"Debug",
SCORE_LOG_INFO=>"Info",
SCORE_LOG_WARNING=>"Warning",
SCORE_LOG_ERROR=>"Error",
SCORE_LOG_CRITICAL=>"Critical",
SCORE_LOG_NOTSET => "Not Set",
SCORE_LOG_DEBUG => "Debug",
SCORE_LOG_INFO => "Info",
SCORE_LOG_WARNING => "Warning",
SCORE_LOG_ERROR => "Error",
SCORE_LOG_CRITICAL => "Critical",
];
/**
@ -31,7 +31,7 @@ const LOGGING_LEVEL_NAMES = [
* When taking action, a log event should be stored by the server
* Quite often, both of these happen at once, hence log_*() having $flash
*/
function log_msg(string $section, int $priority, string $message, ?string $flash=null)
function log_msg(string $section, int $priority, string $message, ?string $flash = null)
{
global $page;
send_event(new LogEvent($section, $priority, $message));
@ -47,23 +47,23 @@ function log_msg(string $section, int $priority, string $message, ?string $flash
}
// More shorthand ways of logging
function log_debug(string $section, string $message, ?string $flash=null)
function log_debug(string $section, string $message, ?string $flash = null)
{
log_msg($section, SCORE_LOG_DEBUG, $message, $flash);
}
function log_info(string $section, string $message, ?string $flash=null)
function log_info(string $section, string $message, ?string $flash = null)
{
log_msg($section, SCORE_LOG_INFO, $message, $flash);
}
function log_warning(string $section, string $message, ?string $flash=null)
function log_warning(string $section, string $message, ?string $flash = null)
{
log_msg($section, SCORE_LOG_WARNING, $message, $flash);
}
function log_error(string $section, string $message, ?string $flash=null)
function log_error(string $section, string $message, ?string $flash = null)
{
log_msg($section, SCORE_LOG_ERROR, $message, $flash);
}
function log_critical(string $section, string $message, ?string $flash=null)
function log_critical(string $section, string $message, ?string $flash = null)
{
log_msg($section, SCORE_LOG_CRITICAL, $message, $flash);
}

View file

@ -22,13 +22,13 @@ use function MicroHTML\TR;
use function MicroHTML\TH;
use function MicroHTML\TD;
function SHM_FORM(string $target, string $method="POST", bool $multipart=false, string $form_id="", string $onsubmit="", string $name=""): HTMLElement
function SHM_FORM(string $target, string $method = "POST", bool $multipart = false, string $form_id = "", string $onsubmit = "", string $name = ""): HTMLElement
{
global $user;
$attrs = [
"action"=>make_link($target),
"method"=>$method
"action" => make_link($target),
"method" => $method
];
if ($form_id) {
@ -45,7 +45,7 @@ function SHM_FORM(string $target, string $method="POST", bool $multipart=false,
}
return FORM(
$attrs,
INPUT(["type"=>"hidden", "name"=>"q", "value"=>$target]),
INPUT(["type" => "hidden", "name" => "q", "value" => $target]),
$method == "GET" ? "" : $user->get_auth_microhtml()
);
}
@ -57,14 +57,14 @@ function SHM_SIMPLE_FORM($target, ...$children): HTMLElement
return $form;
}
function SHM_SUBMIT(string $text, array $args=[]): HTMLElement
function SHM_SUBMIT(string $text, array $args = []): HTMLElement
{
$args["type"] = "submit";
$args["value"] = $text;
return INPUT($args);
}
function SHM_A(string $href, string|HTMLElement $text, string $id="", string $class="", array $args=[]): HTMLElement
function SHM_A(string $href, string|HTMLElement $text, string $id = "", string $class = "", array $args = []): HTMLElement
{
$args["href"] = make_link($href);
@ -81,7 +81,7 @@ function SHM_A(string $href, string|HTMLElement $text, string $id="", string $cl
function SHM_COMMAND_EXAMPLE(string $ex, string $desc): HTMLElement
{
return DIV(
["class"=>"command_example"],
["class" => "command_example"],
PRE($ex),
P($desc)
);
@ -90,15 +90,15 @@ function SHM_COMMAND_EXAMPLE(string $ex, string $desc): HTMLElement
function SHM_USER_FORM(User $duser, string $target, string $title, $body, $foot): HTMLElement
{
if (is_string($foot)) {
$foot = TFOOT(TR(TD(["colspan"=>"2"], INPUT(["type"=>"submit", "value"=>$foot]))));
$foot = TFOOT(TR(TD(["colspan" => "2"], INPUT(["type" => "submit", "value" => $foot]))));
}
return SHM_SIMPLE_FORM(
$target,
P(
INPUT(["type"=>'hidden', "name"=>'id', "value"=>$duser->id]),
INPUT(["type" => 'hidden', "name" => 'id', "value" => $duser->id]),
TABLE(
["class"=>"form"],
THEAD(TR(TH(["colspan"=>"2"], $title))),
["class" => "form"],
THEAD(TR(TH(["colspan" => "2"], $title))),
$body,
$foot
)
@ -117,7 +117,7 @@ function SHM_USER_FORM(User $duser, string $target, string $title, $body, $foot)
* @param bool $empty_option Whether the first option should be an empty one.
* @param array $attrs Additional attributes dict for <select>. Example: ["id"=>"some_id", "class"=>"some_class"].
*/
function SHM_SELECT(string $name, array $options, array $selected_options=[], bool $required=false, bool $multiple=false, bool $empty_option=false, array $attrs=[]): HTMLElement
function SHM_SELECT(string $name, array $options, array $selected_options = [], bool $required = false, bool $multiple = false, bool $empty_option = false, array $attrs = []): HTMLElement
{
if ($required) {
$attrs["required"] = "";
@ -143,13 +143,13 @@ function SHM_SELECT(string $name, array $options, array $selected_options=[], bo
return SELECT($attrs, ...$_options);
}
function SHM_OPTION(string $value, string $text, bool $selected=false): HTMLElement
function SHM_OPTION(string $value, string $text, bool $selected = false): HTMLElement
{
if ($selected) {
return OPTION(["value"=>$value, "selected"=>""], $text);
return OPTION(["value" => $value, "selected" => ""], $text);
}
return OPTION(["value"=>$value], $text);
return OPTION(["value" => $value], $text);
}
function SHM_POST_INFO(
@ -159,11 +159,11 @@ function SHM_POST_INFO(
HTMLElement|string $edit = "",
): HTMLElement {
return TR(
TH(["width"=>"50px"], $title),
TH(["width" => "50px"], $title),
$can_edit ?
emptyHTML(
TD(["class"=>"view"], $view),
TD(["class"=>"edit"], $edit),
TD(["class" => "view"], $view),
TD(["class" => "edit"], $edit),
) :
TD($view)
);

View file

@ -121,7 +121,7 @@ function full_copy(string $source, string $target): void
/**
* Return a list of all the regular files in a directory and subdirectories
*/
function list_files(string $base, string $_sub_dir=""): array
function list_files(string $base, string $_sub_dir = ""): array
{
assert(is_dir($base));
@ -129,7 +129,7 @@ function list_files(string $base, string $_sub_dir=""): array
$files = [];
$dir = opendir("$base/$_sub_dir");
if ($dir===false) {
if ($dir === false) {
throw new SCoreException("Unable to open directory $base/$_sub_dir");
}
try {
@ -439,7 +439,7 @@ function no_escape(string $input): string
* Given a 1-indexed numeric-ish thing, return a zero-indexed
* number between 0 and $max
*/
function page_number(string $input, ?int $max=null): int
function page_number(string $input, ?int $max = null): int
{
if (!is_numeric($input)) {
$pageNumber = 0;
@ -453,7 +453,7 @@ function page_number(string $input, ?int $max=null): int
return $pageNumber;
}
function clamp(int $val, ?int $min=null, ?int $max=null): int
function clamp(int $val, ?int $min = null, ?int $max = null): int
{
if (!is_null($min) && $val < $min) {
$val = $min;
@ -471,7 +471,7 @@ function clamp(int $val, ?int $min=null, ?int $max=null): int
* Original PHP code by Chirp Internet: www.chirp.com.au
* Please acknowledge use of this code by including this header.
*/
function truncate(string $string, int $limit, string $break=" ", string $pad="..."): string
function truncate(string $string, int $limit, string $break = " ", string $pad = "..."): string
{
// return with no change if string is shorter than $limit
if (strlen($string) <= $limit) {
@ -549,12 +549,12 @@ abstract class TIME_UNITS
public const DAYS = "d";
public const YEARS = "y";
public const CONVERSION = [
self::MILLISECONDS=>1000,
self::SECONDS=>60,
self::MINUTES=>60,
self::HOURS=>24,
self::DAYS=>365,
self::YEARS=>PHP_INT_MAX
self::MILLISECONDS => 1000,
self::SECONDS => 60,
self::MINUTES => 60,
self::HOURS => 24,
self::DAYS => 365,
self::YEARS => PHP_INT_MAX
];
}
function format_milliseconds(int $input, string $min_unit = TIME_UNITS::SECONDS): string
@ -565,17 +565,17 @@ function format_milliseconds(int $input, string $min_unit = TIME_UNITS::SECONDS)
$found = false;
foreach (TIME_UNITS::CONVERSION as $unit=>$conversion) {
foreach (TIME_UNITS::CONVERSION as $unit => $conversion) {
$count = $remainder % $conversion;
$remainder = floor($remainder / $conversion);
if ($found||$unit==$min_unit) {
if ($found || $unit == $min_unit) {
$found = true;
} else {
continue;
}
if ($count==0&&$remainder<1) {
if ($count == 0 && $remainder < 1) {
break;
}
$output = "$count".$unit." ".$output;
@ -596,7 +596,7 @@ function parse_to_milliseconds(string $input): int
$output += $length;
}
} else {
foreach (TIME_UNITS::CONVERSION as $unit=>$conversion) {
foreach (TIME_UNITS::CONVERSION as $unit => $conversion) {
if (preg_match('/([0-9]+)'.$unit.'/i', $input, $match)) {
$length = $match[1];
if (is_numeric($length)) {
@ -613,7 +613,7 @@ function parse_to_milliseconds(string $input): int
/**
* Turn a date into a time, a date, an "X minutes ago...", etc
*/
function autodate(string $date, bool $html=true): string
function autodate(string $date, bool $html = true): string
{
$cpu = date('c', strtotime($date));
$hum = date('F j, Y; H:i', strtotime($date));
@ -791,7 +791,7 @@ function stringer($s): string
return "[" . implode(", ", array_map("Shimmie2\stringer", $s)) . "]";
} else {
$pairs = [];
foreach ($s as $k=>$v) {
foreach ($s as $k => $v) {
$pairs[] = "\"$k\"=>" . stringer($v);
}
return "[" . implode(", ", $pairs) . "]";

View file

@ -9,7 +9,7 @@ namespace Shimmie2;
* be included right at the very start of index.php and tests/bootstrap.php
*/
function die_nicely($title, $body, $code=0)
function die_nicely($title, $body, $code = 0)
{
print("<!DOCTYPE html>
<html lang='en'>

View file

@ -100,7 +100,7 @@ global $_shm_event_count;
$_shm_event_count = 0;
$_shm_timeout = null;
function shm_set_timeout(?int $timeout=null): void
function shm_set_timeout(?int $timeout = null): void
{
global $_shm_timeout;
if ($timeout) {
@ -155,7 +155,7 @@ function send_event(Event $event): Event
if ($tracer_enabled) {
$_tracer->end();
}
if ($event->stop_processing===true) {
if ($event->stop_processing === true) {
break;
}
}

View file

@ -135,16 +135,16 @@ class PolyfillsTest extends TestCase
"num" => "42",
];
$this->assertEquals(
["foo"=>"bar"],
validate_input(["foo"=>"string,trim,lower"])
["foo" => "bar"],
validate_input(["foo" => "string,trim,lower"])
);
//$this->assertEquals(
// ["to_null"=>null],
// validate_input(["to_null"=>"string,trim,nullify"])
//);
$this->assertEquals(
["num"=>42],
validate_input(["num"=>"int"])
["num" => 42],
validate_input(["num" => "int"])
);
}
@ -223,7 +223,7 @@ class PolyfillsTest extends TestCase
{
$this->assertEquals(
'["foo"=>"bar", "baz"=>[1, 2, 3], "qux"=>["a"=>"b"]]',
stringer(["foo"=>"bar", "baz"=>[1,2,3], "qux"=>["a"=>"b"]])
stringer(["foo" => "bar", "baz" => [1,2,3], "qux" => ["a" => "b"]])
);
}
}

View file

@ -80,17 +80,17 @@ class UrlsTest extends TestCase
{
$this->assertEquals(
"/foo/bar?a=3&b=2",
modify_url("/foo/bar?a=1&b=2", ["a"=>"3"])
modify_url("/foo/bar?a=1&b=2", ["a" => "3"])
);
$this->assertEquals(
"https://blah.com/foo/bar?b=2",
modify_url("https://blah.com/foo/bar?a=1&b=2", ["a"=>null])
modify_url("https://blah.com/foo/bar?a=1&b=2", ["a" => null])
);
$this->assertEquals(
"/foo/bar",
modify_url("/foo/bar?a=1&b=2", ["a"=>null, "b"=>null])
modify_url("/foo/bar?a=1&b=2", ["a" => null, "b" => null])
);
}

View file

@ -11,7 +11,7 @@ class Link
public ?string $page;
public ?string $query;
public function __construct(?string $page=null, ?string $query=null)
public function __construct(?string $page = null, ?string $query = null)
{
$this->page = $page;
$this->query = $query;
@ -43,7 +43,7 @@ function search_link(array $terms = [], int $page = 1): string
*
* eg make_link("foo/bar") becomes "/v2/index.php?q=foo/bar"
*/
function make_link(?string $page=null, ?string $query=null, ?string $fragment=null): string
function make_link(?string $page = null, ?string $query = null, ?string $fragment = null): string
{
global $config;
@ -118,7 +118,7 @@ function make_http(string $link): string
* If HTTP_REFERER is set, and not blacklisted, then return it
* Else return a default $dest
*/
function referer_or(string $dest, ?array $blacklist=null): string
function referer_or(string $dest, ?array $blacklist = null): string
{
if (empty($_SERVER['HTTP_REFERER'])) {
return $dest;

View file

@ -98,7 +98,7 @@ class User
} else {
$query = "SELECT * FROM users WHERE name = :name AND md5(pass || :ip) = :sess";
}
$row = $database->get_row($query, ["name"=>$name, "ip"=>get_session_ip($config), "sess"=>$session]);
$row = $database->get_row($query, ["name" => $name, "ip" => get_session_ip($config), "sess" => $session]);
$cache->set("user-session:$name-$session", $row, 600);
}
return is_null($row) ? null : new User($row);
@ -113,7 +113,7 @@ class User
return new User($cached);
}
}
$row = $database->get_row("SELECT * FROM users WHERE id = :id", ["id"=>$id]);
$row = $database->get_row("SELECT * FROM users WHERE id = :id", ["id" => $id]);
if ($id === 1) {
$cache->set('user-id:'.$id, $row, 600);
}
@ -124,7 +124,7 @@ class User
public static function by_name(string $name): ?User
{
global $database;
$row = $database->get_row("SELECT * FROM users WHERE LOWER(name) = LOWER(:name)", ["name"=>$name]);
$row = $database->get_row("SELECT * FROM users WHERE LOWER(name) = LOWER(:name)", ["name" => $name]);
return is_null($row) ? null : new User($row);
}
@ -188,7 +188,7 @@ class User
public function set_class(string $class): void
{
global $database;
$database->execute("UPDATE users SET class=:class WHERE id=:id", ["class"=>$class, "id"=>$this->id]);
$database->execute("UPDATE users SET class=:class WHERE id=:id", ["class" => $class, "id" => $this->id]);
log_info("core-user", 'Set class for '.$this->name.' to '.$class);
}
@ -200,7 +200,7 @@ class User
}
$old_name = $this->name;
$this->name = $name;
$database->execute("UPDATE users SET name=:name WHERE id=:id", ["name"=>$this->name, "id"=>$this->id]);
$database->execute("UPDATE users SET name=:name WHERE id=:id", ["name" => $this->name, "id" => $this->id]);
log_info("core-user", "Changed username for {$old_name} to {$this->name}");
}
@ -210,7 +210,7 @@ class User
$hash = password_hash($password, PASSWORD_BCRYPT);
if (is_string($hash)) {
$this->passhash = $hash;
$database->execute("UPDATE users SET pass=:hash WHERE id=:id", ["hash"=>$this->passhash, "id"=>$this->id]);
$database->execute("UPDATE users SET pass=:hash WHERE id=:id", ["hash" => $this->passhash, "id" => $this->id]);
log_info("core-user", 'Set password for '.$this->name);
} else {
throw new SCoreException("Failed to hash password");
@ -220,7 +220,7 @@ class User
public function set_email(string $address): void
{
global $database;
$database->execute("UPDATE users SET email=:email WHERE id=:id", ["email"=>$address, "id"=>$this->id]);
$database->execute("UPDATE users SET email=:email WHERE id=:id", ["email" => $address, "id" => $this->id]);
log_info("core-user", 'Set email for '.$this->name);
}
@ -284,7 +284,7 @@ class User
public function get_auth_microhtml(): HTMLElement
{
$at = $this->get_auth_token();
return INPUT(["type"=>"hidden", "name"=>"auth_token", "value"=>$at]);
return INPUT(["type" => "hidden", "name" => "auth_token", "value" => $at]);
}
public function check_auth_token(): bool

View file

@ -219,10 +219,10 @@ new UserClass("admin", "base", [
Permissions::APPROVE_COMMENT => true,
Permissions::BYPASS_IMAGE_APPROVAL => true,
Permissions::CRON_RUN =>true,
Permissions::CRON_RUN => true,
Permissions::BULK_IMPORT =>true,
Permissions::BULK_EXPORT =>true,
Permissions::BULK_IMPORT => true,
Permissions::BULK_EXPORT => true,
Permissions::BULK_DOWNLOAD => true,
Permissions::BULK_PARENT_CHILD => true,

View file

@ -55,7 +55,7 @@ function is_https_enabled(): bool
{
// check forwarded protocol
if (REVERSE_PROXY_X_HEADERS && !empty($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
$_SERVER['HTTPS']='on';
$_SERVER['HTTPS'] = 'on';
}
return (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off');
}
@ -80,10 +80,10 @@ function get_memory_limit(): int
global $config;
// thumbnail generation requires lots of memory
$default_limit = 8*1024*1024; // 8 MB of memory is PHP's default.
$default_limit = 8 * 1024 * 1024; // 8 MB of memory is PHP's default.
$shimmie_limit = $config->get_int(MediaConfig::MEM_LIMIT);
if ($shimmie_limit < 3*1024*1024) {
if ($shimmie_limit < 3 * 1024 * 1024) {
// we aren't going to fit, override
$shimmie_limit = $default_limit;
}
@ -205,9 +205,9 @@ function format_text(string $string): string
* @param int $splits The number of octet pairs to split the hash into. Caps out at strlen($hash)/2.
* @return string
*/
function warehouse_path(string $base, string $hash, bool $create=true, int $splits = WH_SPLITS): string
function warehouse_path(string $base, string $hash, bool $create = true, int $splits = WH_SPLITS): string
{
$dirs =[DATA_DIR, $base];
$dirs = [DATA_DIR, $base];
$splits = min($splits, strlen($hash) / 2);
for ($i = 0; $i < $splits; $i++) {
$dirs[] = substr($hash, $i * 2, 2);
@ -228,13 +228,13 @@ function warehouse_path(string $base, string $hash, bool $create=true, int $spli
function data_path(string $filename, bool $create = true): string
{
$filename = join_path("data", $filename);
if ($create&&!file_exists(dirname($filename))) {
if ($create && !file_exists(dirname($filename))) {
mkdir(dirname($filename), 0755, true);
}
return $filename;
}
function load_balance_url(string $tmpl, string $hash, int $n=0): string
function load_balance_url(string $tmpl, string $hash, int $n = 0): string
{
static $flexihashes = [];
$matches = [];
@ -308,7 +308,7 @@ function fetch_url(string $url, string $mfile): ?array
$s_mfile = escapeshellarg($mfile);
system("wget --no-check-certificate $s_url --output-document=$s_mfile");
return file_exists($mfile) ? ["ok"=>"true"] : null;
return file_exists($mfile) ? ["ok" => "true"] : null;
}
if ($config->get_string(UploadConfig::TRANSLOAD_ENGINE) === "fopen") {
@ -355,7 +355,7 @@ function path_to_tags(string $path): string
$category_to_inherit = "";
foreach (explode(" ", $dir) as $tag) {
$tag = trim($tag);
if ($tag=="") {
if ($tag == "") {
continue;
}
if (substr_compare($tag, ":", -1) === 0) {
@ -363,7 +363,7 @@ function path_to_tags(string $path): string
// which is for inheriting to tags on the subfolder
$category_to_inherit = $tag;
} else {
if ($category!="" && !str_contains($tag, ":")) {
if ($category != "" && !str_contains($tag, ":")) {
// This indicates that category inheritance is active,
// and we've encountered a tag that does not specify a category.
// So we attach the inherited category to the tag.
@ -420,7 +420,7 @@ function remove_empty_dirs(string $dir): bool
$result = false;
}
}
if ($result===true) {
if ($result === true) {
$result = rmdir($dir);
}
return $result;
@ -533,7 +533,7 @@ function get_debug_info_arr(): array
return [
"time" => round(ftime() - $_shm_load_start, 2),
"dbtime" => round($database->dbtime, 2),
"mem_mb" => round(((memory_get_peak_usage(true)+512)/1024)/1024, 2),
"mem_mb" => round(((memory_get_peak_usage(true) + 512) / 1024) / 1024, 2),
"files" => count(get_included_files()),
"query_count" => $database->query_count,
// "query_log" => $database->queries,
@ -591,7 +591,7 @@ function _set_up_shimmie_environment(): void
// The trace system has a certain amount of memory consumption every time it is used,
// so to prevent running out of memory during complex operations code that uses it should
// check if tracer output is enabled before making use of it.
$tracer_enabled = constant('TRACE_FILE')!==null;
$tracer_enabled = constant('TRACE_FILE') !== null;
}
@ -717,7 +717,7 @@ function show_ip(string $ip, string $ban_reason): string
/**
* Make a form tag with relevant auth token and stuff
*/
function make_form(string $target, string $method="POST", bool $multipart=false, string $form_id="", string $onsubmit=""): string
function make_form(string $target, string $method = "POST", bool $multipart = false, string $form_id = "", string $onsubmit = ""): string
{
global $user;
if ($method == "GET") {

View file

@ -137,7 +137,7 @@ class AdminPage extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent==="system") {
if ($event->parent === "system") {
if ($user->can(Permissions::MANAGE_ADMINTOOLS)) {
$event->add_nav_link("admin", new Link('admin'), "Board Admin");
}

View file

@ -69,7 +69,7 @@ class AliasEditor extends Extension
if ($event->get_arg(0) == "add") {
if ($user->can(Permissions::MANAGE_ALIAS_LIST)) {
$user->ensure_authed();
$input = validate_input(["c_oldtag"=>"string", "c_newtag"=>"string"]);
$input = validate_input(["c_oldtag" => "string", "c_newtag" => "string"]);
try {
send_event(new AddAliasEvent($input['c_oldtag'], $input['c_newtag']));
$page->set_mode(PageMode::REDIRECT);
@ -81,7 +81,7 @@ class AliasEditor extends Extension
} elseif ($event->get_arg(0) == "remove") {
if ($user->can(Permissions::MANAGE_ALIAS_LIST)) {
$user->ensure_authed();
$input = validate_input(["d_oldtag"=>"string"]);
$input = validate_input(["d_oldtag" => "string"]);
send_event(new DeleteAliasEvent($input['d_oldtag']));
$page->set_mode(PageMode::REDIRECT);
$page->set_redirect(make_link("alias/list"));
@ -126,7 +126,7 @@ class AliasEditor extends Extension
$row = $database->get_row(
"SELECT * FROM aliases WHERE lower(oldtag)=lower(:oldtag)",
["oldtag"=>$event->oldtag]
["oldtag" => $event->oldtag]
);
if ($row) {
throw new AddAliasException("{$row['oldtag']} is already an alias for {$row['newtag']}");
@ -156,7 +156,7 @@ class AliasEditor extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
if ($event->parent=="tags") {
if ($event->parent == "tags") {
$event->add_nav_link("aliases", new Link('alias/list'), "Aliases", NavLink::is_active(["alias"]));
}
}

View file

@ -18,11 +18,11 @@ class AliasEditorTheme extends Themelet
{
global $page, $user;
$html = emptyHTML($table, BR(), $paginator, BR(), SHM_A("alias/export/aliases.csv", "Download as CSV", args: ["download"=>"aliases.csv"]));
$html = emptyHTML($table, BR(), $paginator, BR(), SHM_A("alias/export/aliases.csv", "Download as CSV", args: ["download" => "aliases.csv"]));
$bulk_form = SHM_FORM("alias/import", multipart: true);
$bulk_form->appendChild(
INPUT(["type"=>"file", "name"=>"alias_file"]),
INPUT(["type" => "file", "name" => "alias_file"]),
SHM_SUBMIT("Upload List")
);
$bulk_html = emptyHTML($bulk_form);

View file

@ -10,7 +10,7 @@ class ApprovalInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Approval";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Adds an approval step to the upload/import process.";
}

View file

@ -86,21 +86,21 @@ class Approval extends Extension
$action = $event->action;
$event->redirect = true;
if ($action==="approval") {
if ($action === "approval") {
$approval_action = $_POST["approval_action"];
switch ($approval_action) {
case "approve_all":
$database->set_timeout(null); // These updates can take a little bit
$database->execute(
"UPDATE images SET approved = :true, approved_by_id = :approved_by_id WHERE approved = :false",
["approved_by_id"=>$user->id, "true"=>true, "false"=>false]
["approved_by_id" => $user->id, "true" => true, "false" => false]
);
break;
case "disapprove_all":
$database->set_timeout(null); // These updates can take a little bit
$database->execute(
"UPDATE images SET approved = :false, approved_by_id = NULL WHERE approved = :true",
["true"=>true, "false"=>false]
["true" => true, "false" => false]
);
break;
default:
@ -123,7 +123,7 @@ class Approval extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent=="posts") {
if ($event->parent == "posts") {
if ($user->can(Permissions::APPROVE_IMAGE)) {
$event->add_nav_link("posts_unapproved", new Link('/post/list/approved%3Ano/1'), "Pending Approval", null, 60);
}
@ -147,7 +147,7 @@ class Approval extends Extension
$matches = [];
if (is_null($event->term) && $this->no_approval_query($event->context)) {
$event->add_querylet(new Querylet("approved = :true", ["true"=>true]));
$event->add_querylet(new Querylet("approved = :true", ["true" => true]));
}
if (is_null($event->term)) {
@ -155,9 +155,9 @@ class Approval extends Extension
}
if (preg_match(self::SEARCH_REGEXP, strtolower($event->term), $matches)) {
if ($user->can(Permissions::APPROVE_IMAGE) && $matches[1] == "no") {
$event->add_querylet(new Querylet("approved != :true", ["true"=>true]));
$event->add_querylet(new Querylet("approved != :true", ["true" => true]));
} else {
$event->add_querylet(new Querylet("approved = :true", ["true"=>true]));
$event->add_querylet(new Querylet("approved = :true", ["true" => true]));
}
}
}
@ -166,7 +166,7 @@ class Approval extends Extension
public function onHelpPageBuilding(HelpPageBuildingEvent $event)
{
global $user, $config;
if ($event->key===HelpPages::SEARCH) {
if ($event->key === HelpPages::SEARCH) {
if ($user->can(Permissions::APPROVE_IMAGE) && $config->get_bool(ApprovalConfig::IMAGES)) {
$event->add_block(new Block("Approval", $this->theme->get_help_html()));
}
@ -190,7 +190,7 @@ class Approval extends Extension
$database->execute(
"UPDATE images SET approved = :true, approved_by_id = :approved_by_id WHERE id = :id AND approved = :false",
["approved_by_id"=>$user->id, "id"=>$image_id, "true"=>true, "false"=>false]
["approved_by_id" => $user->id, "id" => $image_id, "true" => true, "false" => false]
);
}
@ -200,7 +200,7 @@ class Approval extends Extension
$database->execute(
"UPDATE images SET approved = :false, approved_by_id = NULL WHERE id = :id AND approved = :true",
["id"=>$image_id, "true"=>true, "false"=>false]
["id" => $image_id, "true" => true, "false" => false]
);
}
@ -208,7 +208,7 @@ class Approval extends Extension
{
global $user, $config;
if ($config->get_bool(ApprovalConfig::IMAGES) && $image->approved===false && !$user->can(Permissions::APPROVE_IMAGE) && $user->id!==$image->owner_id) {
if ($config->get_bool(ApprovalConfig::IMAGES) && $image->approved === false && !$user->can(Permissions::APPROVE_IMAGE) && $user->id !== $image->owner_id) {
return false;
}
return true;
@ -236,7 +236,7 @@ class Approval extends Extension
{
global $user, $config;
if ($user->can(Permissions::APPROVE_IMAGE)&& $config->get_bool(ApprovalConfig::IMAGES)) {
if ($user->can(Permissions::APPROVE_IMAGE) && $config->get_bool(ApprovalConfig::IMAGES)) {
if (in_array("approved:no", $event->search_terms)) {
$event->add_action("bulk_approve_image", "Approve", "a");
} else {

View file

@ -14,16 +14,16 @@ class ApprovalTheme extends Themelet
{
public function get_image_admin_html(Image $image): HTMLElement
{
if ($image->approved===true) {
if ($image->approved === true) {
$form = SHM_SIMPLE_FORM(
'disapprove_image/'.$image->id,
INPUT(["type"=>'hidden', "name"=>'image_id', "value"=>$image->id]),
INPUT(["type" => 'hidden', "name" => 'image_id', "value" => $image->id]),
SHM_SUBMIT("Disapprove")
);
} else {
$form = SHM_SIMPLE_FORM(
'approve_image/'.$image->id,
INPUT(["type"=>'hidden', "name"=>'image_id', "value"=>$image->id]),
INPUT(["type" => 'hidden', "name" => 'image_id', "value" => $image->id]),
SHM_SUBMIT("Approve")
);
}
@ -52,9 +52,9 @@ class ApprovalTheme extends Themelet
$form = SHM_SIMPLE_FORM(
"admin/approval",
BUTTON(["name"=>'approval_action', "value"=>'approve_all'], "Approve All Posts"),
BUTTON(["name" => 'approval_action', "value" => 'approve_all'], "Approve All Posts"),
" ",
BUTTON(["name"=>'approval_action', "value"=>'disapprove_all'], "Disapprove All Posts"),
BUTTON(["name" => 'approval_action', "value" => 'disapprove_all'], "Disapprove All Posts"),
);
$page->add_block(new Block("Approval", $form));

View file

@ -11,7 +11,7 @@ class ArtistsInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Artists System";
public string $url = self::SHIMMIE_URL;
public array $authors = ["Sein Kraft"=>"mail@seinkraft.info","Alpha"=>"alpha@furries.com.ar"];
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Simple artists extension";
public bool $beta = true;

View file

@ -50,13 +50,13 @@ class Artists extends Extension
$matches = [];
if (preg_match("/^(author|artist)[=|:](.*)$/i", $event->term, $matches)) {
$char = $matches[2];
$event->add_querylet(new Querylet("author = :author_char", ["author_char"=>$char]));
$event->add_querylet(new Querylet("author = :author_char", ["author_char" => $char]));
}
}
public function onHelpPageBuilding(HelpPageBuildingEvent $event)
{
if ($event->key===HelpPages::SEARCH) {
if ($event->key === HelpPages::SEARCH) {
$event->add_block(new Block("Artist", $this->theme->get_help_html()));
}
}
@ -150,7 +150,7 @@ class Artists extends Extension
$database->execute(
"UPDATE images SET author = :author WHERE id = :id",
['author'=>$artistName, 'id'=>$event->image->id]
['author' => $artistName, 'id' => $event->image->id]
);
}
@ -419,28 +419,28 @@ class Artists extends Extension
private function get_artistName_by_imageID(int $imageID): string
{
global $database;
$result = $database->get_row("SELECT author FROM images WHERE id = :id", ['id'=>$imageID]);
$result = $database->get_row("SELECT author FROM images WHERE id = :id", ['id' => $imageID]);
return $result['author'] ?? "";
}
private function url_exists_by_url(string $url): bool
{
global $database;
$result = $database->get_one("SELECT COUNT(1) FROM artist_urls WHERE url = :url", ['url'=>$url]);
$result = $database->get_one("SELECT COUNT(1) FROM artist_urls WHERE url = :url", ['url' => $url]);
return ($result != 0);
}
private function member_exists_by_name(string $member): bool
{
global $database;
$result = $database->get_one("SELECT COUNT(1) FROM artist_members WHERE name = :name", ['name'=>$member]);
$result = $database->get_one("SELECT COUNT(1) FROM artist_members WHERE name = :name", ['name' => $member]);
return ($result != 0);
}
private function alias_exists_by_name(string $alias): bool
{
global $database;
$result = $database->get_one("SELECT COUNT(1) FROM artist_alias WHERE alias = :alias", ['alias'=>$alias]);
$result = $database->get_one("SELECT COUNT(1) FROM artist_alias WHERE alias = :alias", ['alias' => $alias]);
return ($result != 0);
}
@ -449,7 +449,7 @@ class Artists extends Extension
global $database;
$result = $database->get_one(
"SELECT COUNT(1) FROM artist_alias WHERE artist_id = :artist_id AND alias = :alias",
['artist_id'=>$artistID, 'alias'=>$alias]
['artist_id' => $artistID, 'alias' => $alias]
);
return ($result != 0);
}
@ -457,73 +457,73 @@ class Artists extends Extension
private function get_artistID_by_url(string $url): int
{
global $database;
return (int)$database->get_one("SELECT artist_id FROM artist_urls WHERE url = :url", ['url'=>$url]);
return (int)$database->get_one("SELECT artist_id FROM artist_urls WHERE url = :url", ['url' => $url]);
}
private function get_artistID_by_memberName(string $member): int
{
global $database;
return (int)$database->get_one("SELECT artist_id FROM artist_members WHERE name = :name", ['name'=>$member]);
return (int)$database->get_one("SELECT artist_id FROM artist_members WHERE name = :name", ['name' => $member]);
}
private function get_artistName_by_artistID(int $artistID): string
{
global $database;
return (string)$database->get_one("SELECT name FROM artists WHERE id = :id", ['id'=>$artistID]);
return (string)$database->get_one("SELECT name FROM artists WHERE id = :id", ['id' => $artistID]);
}
private function get_artistID_by_aliasID(int $aliasID): int
{
global $database;
return (int)$database->get_one("SELECT artist_id FROM artist_alias WHERE id = :id", ['id'=>$aliasID]);
return (int)$database->get_one("SELECT artist_id FROM artist_alias WHERE id = :id", ['id' => $aliasID]);
}
private function get_artistID_by_memberID(int $memberID): int
{
global $database;
return (int)$database->get_one("SELECT artist_id FROM artist_members WHERE id = :id", ['id'=>$memberID]);
return (int)$database->get_one("SELECT artist_id FROM artist_members WHERE id = :id", ['id' => $memberID]);
}
private function get_artistID_by_urlID(int $urlID): int
{
global $database;
return (int)$database->get_one("SELECT artist_id FROM artist_urls WHERE id = :id", ['id'=>$urlID]);
return (int)$database->get_one("SELECT artist_id FROM artist_urls WHERE id = :id", ['id' => $urlID]);
}
private function delete_alias(int $aliasID)
{
global $database;
$database->execute("DELETE FROM artist_alias WHERE id = :id", ['id'=>$aliasID]);
$database->execute("DELETE FROM artist_alias WHERE id = :id", ['id' => $aliasID]);
}
private function delete_url(int $urlID)
{
global $database;
$database->execute("DELETE FROM artist_urls WHERE id = :id", ['id'=>$urlID]);
$database->execute("DELETE FROM artist_urls WHERE id = :id", ['id' => $urlID]);
}
private function delete_member(int $memberID)
{
global $database;
$database->execute("DELETE FROM artist_members WHERE id = :id", ['id'=>$memberID]);
$database->execute("DELETE FROM artist_members WHERE id = :id", ['id' => $memberID]);
}
private function get_alias_by_id(int $aliasID): array
{
global $database;
return $database->get_row("SELECT * FROM artist_alias WHERE id = :id", ['id'=>$aliasID]);
return $database->get_row("SELECT * FROM artist_alias WHERE id = :id", ['id' => $aliasID]);
}
private function get_url_by_id(int $urlID): array
{
global $database;
return $database->get_row("SELECT * FROM artist_urls WHERE id = :id", ['id'=>$urlID]);
return $database->get_row("SELECT * FROM artist_urls WHERE id = :id", ['id' => $urlID]);
}
private function get_member_by_id(int $memberID): array
{
global $database;
return $database->get_row("SELECT * FROM artist_members WHERE id = :id", ['id'=>$memberID]);
return $database->get_row("SELECT * FROM artist_members WHERE id = :id", ['id' => $memberID]);
}
private function update_artist()
@ -558,7 +558,7 @@ class Artists extends Extension
global $database;
$database->execute(
"UPDATE artists SET name = :name, notes = :notes, updated = now(), user_id = :user_id WHERE id = :id",
['name'=>$name, 'notes'=>$notes, 'user_id'=>$userID, 'id'=>$artistID]
['name' => $name, 'notes' => $notes, 'user_id' => $userID, 'id' => $artistID]
);
// ALIAS MATCHING SECTION
@ -639,7 +639,7 @@ class Artists extends Extension
global $database;
$database->execute(
"UPDATE artist_alias SET alias = :alias, updated = now(), user_id = :user_id WHERE id = :id",
['alias'=>$alias, 'user_id'=>$userID, 'id'=>$aliasID]
['alias' => $alias, 'user_id' => $userID, 'id' => $aliasID]
);
}
@ -658,7 +658,7 @@ class Artists extends Extension
global $database;
$database->execute(
"UPDATE artist_urls SET url = :url, updated = now(), user_id = :user_id WHERE id = :id",
['url'=>$url, 'user_id'=>$userID, 'id'=>$urlID]
['url' => $url, 'user_id' => $userID, 'id' => $urlID]
);
}
@ -677,7 +677,7 @@ class Artists extends Extension
global $database;
$database->execute(
"UPDATE artist_members SET name = :name, updated = now(), user_id = :user_id WHERE id = :id",
['name'=>$memberName, 'user_id'=>$userID, 'id'=>$memberID]
['name' => $memberName, 'user_id' => $userID, 'id' => $memberID]
);
}
@ -753,7 +753,7 @@ class Artists extends Extension
$database->execute("
INSERT INTO artists (user_id, name, notes, created, updated)
VALUES (:user_id, :name, :notes, now(), now())
", ['user_id'=>$user->id, 'name'=>$name, 'notes'=>$notes]);
", ['user_id' => $user->id, 'name' => $name, 'notes' => $notes]);
return $database->get_last_insert_id('artists_id_seq');
}
@ -762,7 +762,7 @@ class Artists extends Extension
global $database;
$result = $database->get_one(
"SELECT COUNT(1) FROM artists WHERE name = :name",
['name'=>$name]
['name' => $name]
);
return ($result != 0);
}
@ -772,7 +772,7 @@ class Artists extends Extension
global $database;
$result = $database->get_row(
"SELECT * FROM artists WHERE id = :id",
['id'=>$artistID]
['id' => $artistID]
);
$result["name"] = stripslashes($result["name"]);
@ -786,7 +786,7 @@ class Artists extends Extension
global $database;
$result = $database->get_all(
"SELECT * FROM artist_members WHERE artist_id = :artist_id",
['artist_id'=>$artistID]
['artist_id' => $artistID]
);
$num = count($result);
@ -802,7 +802,7 @@ class Artists extends Extension
global $database;
$result = $database->get_all(
"SELECT id, url FROM artist_urls WHERE artist_id = :artist_id",
['artist_id'=>$artistID]
['artist_id' => $artistID]
);
$num = count($result);
@ -818,7 +818,7 @@ class Artists extends Extension
global $database;
return (int)$database->get_one(
"SELECT id FROM artists WHERE name = :name",
['name'=>$name]
['name' => $name]
);
}
@ -828,7 +828,7 @@ class Artists extends Extension
return (int)$database->get_one(
"SELECT artist_id FROM artist_alias WHERE alias = :alias",
['alias'=>$alias]
['alias' => $alias]
);
}
@ -837,7 +837,7 @@ class Artists extends Extension
global $database;
$database->execute(
"DELETE FROM artists WHERE id = :id",
['id'=>$artistID]
['id' => $artistID]
);
}
@ -900,8 +900,8 @@ class Artists extends Extension
LIMIT :offset, :limit
",
[
"offset"=>$pageNumber * $artistsPerPage,
"limit"=>$artistsPerPage
"offset" => $pageNumber * $artistsPerPage,
"limit" => $artistsPerPage
]
);
@ -953,7 +953,7 @@ class Artists extends Extension
$database->execute(
"INSERT INTO artist_urls (artist_id, created, updated, url, user_id) VALUES (:artist_id, now(), now(), :url, :user_id)",
['artist'=>$artistID, 'url'=>$url, 'user_id'=>$userID]
['artist' => $artistID, 'url' => $url, 'user_id' => $userID]
);
}
@ -980,7 +980,7 @@ class Artists extends Extension
$database->execute(
"INSERT INTO artist_alias (artist_id, created, updated, alias, user_id) VALUES (:artist_id, now(), now(), :alias, :user_id)",
['artist_id'=>$artistID, 'alias'=>$alias, 'user_id'=>$userID]
['artist_id' => $artistID, 'alias' => $alias, 'user_id' => $userID]
);
}
@ -1007,7 +1007,7 @@ class Artists extends Extension
$database->execute(
"INSERT INTO artist_members (artist_id, name, created, updated, user_id) VALUES (:artist_id, :name, now(), now(), :user_id)",
['artist'=>$artistID, 'name'=>$member, 'user_id'=>$userID]
['artist' => $artistID, 'name' => $member, 'user_id' => $userID]
);
}
@ -1017,7 +1017,7 @@ class Artists extends Extension
$result = $database->get_one(
"SELECT COUNT(1) FROM artist_members WHERE artist_id = :artist_id AND name = :name",
['artist_id'=>$artistID, 'name'=>$member]
['artist_id' => $artistID, 'name' => $member]
);
return ($result != 0);
}
@ -1028,7 +1028,7 @@ class Artists extends Extension
$result = $database->get_one(
"SELECT COUNT(1) FROM artist_urls WHERE artist_id = :artist_id AND url = :url",
['artist_id'=>$artistID, 'url'=>$url]
['artist_id' => $artistID, 'url' => $url]
);
return ($result != 0);
}
@ -1045,7 +1045,7 @@ class Artists extends Extension
FROM artist_alias
WHERE artist_id = :artist_id
ORDER BY alias ASC
", ['artist_id'=>$artistID]);
", ['artist_id' => $artistID]);
$rc = count($result);
for ($i = 0 ; $i < $rc ; $i++) {

View file

@ -17,11 +17,11 @@ class ArtistsTheme extends Themelet
"Author",
true,
$author,
INPUT(["type"=>"text", "name"=>"tag_edit__author", "value"=>$author])
INPUT(["type" => "text", "name" => "tag_edit__author", "value" => $author])
);
}
public function sidebar_options(string $mode, ?int $artistID=null, $is_admin=false): void
public function sidebar_options(string $mode, ?int $artistID = null, $is_admin = false): void
{
global $page, $user;
@ -113,7 +113,7 @@ class ArtistsTheme extends Themelet
$urlsString .= $url["url"]."\n";
$urlsIDsString .= $url["id"]." ";
}
$urlsString = substr($urlsString, 0, strlen($urlsString) -1);
$urlsString = substr($urlsString, 0, strlen($urlsString) - 1);
$urlsIDsString = rtrim($urlsIDsString);
$html = '

View file

@ -10,7 +10,7 @@ class AutoTaggerInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Auto-Tagger";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Provides several automatic tagging functions";
}

View file

@ -75,7 +75,7 @@ class AutoTagger extends Extension
if ($event->get_arg(0) == "add") {
if ($user->can(Permissions::MANAGE_AUTO_TAG)) {
$user->ensure_authed();
$input = validate_input(["c_tag"=>"string", "c_additional_tags"=>"string"]);
$input = validate_input(["c_tag" => "string", "c_additional_tags" => "string"]);
try {
send_event(new AddAutoTagEvent($input['c_tag'], $input['c_additional_tags']));
$page->set_mode(PageMode::REDIRECT);
@ -87,7 +87,7 @@ class AutoTagger extends Extension
} elseif ($event->get_arg(0) == "remove") {
if ($user->can(Permissions::MANAGE_AUTO_TAG)) {
$user->ensure_authed();
$input = validate_input(["d_tag"=>"string"]);
$input = validate_input(["d_tag" => "string"]);
send_event(new DeleteAutoTagEvent($input['d_tag']));
$page->set_mode(PageMode::REDIRECT);
$page->set_redirect(make_link("auto_tag/list"));
@ -128,7 +128,7 @@ class AutoTagger extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
if ($event->parent=="tags") {
if ($event->parent == "tags") {
$event->add_nav_link("auto_tag", new Link('auto_tag/list'), "Auto-Tag", NavLink::is_active(["auto_tag"]));
}
}
@ -212,7 +212,7 @@ class AutoTagger extends Extension
private function add_auto_tag(string $tag, string $additional_tags)
{
global $database;
$existing_tags = $database->get_one("SELECT additional_tags FROM auto_tag WHERE LOWER(tag)=LOWER(:tag)", ["tag"=>$tag]);
$existing_tags = $database->get_one("SELECT additional_tags FROM auto_tag WHERE LOWER(tag)=LOWER(:tag)", ["tag" => $tag]);
if (!is_null($existing_tags)) {
// Auto Tags already exist, so we will append new tags to the existing one
$tag = Tag::sanitize($tag);
@ -226,7 +226,7 @@ class AutoTagger extends Extension
$database->execute(
"UPDATE auto_tag set additional_tags=:existing_tags where tag=:tag",
["tag"=>$tag, "existing_tags"=>Tag::implode($existing_tags)]
["tag" => $tag, "existing_tags" => Tag::implode($existing_tags)]
);
log_info(
AutoTaggerInfo::KEY,
@ -238,7 +238,7 @@ class AutoTagger extends Extension
$database->execute(
"INSERT INTO auto_tag(tag, additional_tags) VALUES(:tag, :additional_tags)",
["tag"=>$tag, "additional_tags"=>Tag::implode($additional_tags)]
["tag" => $tag, "additional_tags" => Tag::implode($additional_tags)]
);
log_info(
@ -253,9 +253,9 @@ class AutoTagger extends Extension
private function apply_new_auto_tag(string $tag)
{
global $database;
$tag_id = $database->get_one("SELECT id FROM tags WHERE LOWER(tag) = LOWER(:tag)", ["tag"=>$tag]);
$tag_id = $database->get_one("SELECT id FROM tags WHERE LOWER(tag) = LOWER(:tag)", ["tag" => $tag]);
if (!empty($tag_id)) {
$image_ids = $database->get_col_iterable("SELECT image_id FROM image_tags WHERE tag_id = :tag_id", ["tag_id"=>$tag_id]);
$image_ids = $database->get_col_iterable("SELECT image_id FROM image_tags WHERE tag_id = :tag_id", ["tag_id" => $tag_id]);
foreach ($image_ids as $image_id) {
$image_id = (int) $image_id;
$image = Image::by_id($image_id);

View file

@ -10,6 +10,6 @@ class AutoCompleteInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Autocomplete";
public array $authors = ["Daku"=>"admin@codeanimu.net"];
public array $authors = ["Daku" => "admin@codeanimu.net"];
public string $description = "Adds autocomplete to search & tagging.";
}

View file

@ -55,7 +55,7 @@ class AutoComplete extends Extension
$limitSQL = "";
$search = str_replace('_', '\_', $search);
$search = str_replace('%', '\%', $search);
$SQLarr = ["search"=>"$search%"]; #, "cat_search"=>"%:$search%"];
$SQLarr = ["search" => "$search%"]; #, "cat_search"=>"%:$search%"];
if ($limit !== 0) {
$limitSQL = "LIMIT :limit";
$SQLarr['limit'] = $limit;

View file

@ -9,7 +9,7 @@ class AutoCompleteTest extends ShimmiePHPUnitTestCase
public function testAuth()
{
send_event(new UserLoginEvent(User::by_name(self::$anon_name)));
$page = $this->get_page('api/internal/autocomplete', ["s"=>"not-a-tag"]);
$page = $this->get_page('api/internal/autocomplete', ["s" => "not-a-tag"]);
$this->assertEquals(200, $page->code);
$this->assertEquals(PageMode::DATA, $page->mode);
$this->assertEquals("[]", $page->data);

View file

@ -97,8 +97,8 @@ class BBCode extends FormatterExtension
}
$beginning = substr($text, 0, $start);
$middle = str_rot13(substr($text, $start+$l1, ($end-$start-$l1)));
$ending = substr($text, $end + $l2, (strlen($text)-$end+$l2));
$middle = str_rot13(substr($text, $start + $l1, ($end - $start - $l1)));
$ending = substr($text, $end + $l2, (strlen($text) - $end + $l2));
$text = $beginning . $middle . $ending;
}
@ -131,8 +131,8 @@ class BBCode extends FormatterExtension
}
$beginning = substr($text, 0, $start);
$middle = base64_encode(substr($text, $start+$l1, ($end-$start-$l1)));
$ending = substr($text, $end + $l2, (strlen($text)-$end+$l2));
$middle = base64_encode(substr($text, $start + $l1, ($end - $start - $l1)));
$ending = substr($text, $end + $l2, (strlen($text) - $end + $l2));
$text = $beginning . "[code!]" . $middle . "[/code!]" . $ending;
}
@ -155,8 +155,8 @@ class BBCode extends FormatterExtension
}
$beginning = substr($text, 0, $start);
$middle = base64_decode(substr($text, $start+$l1, ($end-$start-$l1)));
$ending = substr($text, $end + $l2, (strlen($text)-$end+$l2));
$middle = base64_decode(substr($text, $start + $l1, ($end - $start - $l1)));
$ending = substr($text, $end + $l2, (strlen($text) - $end + $l2));
$text = $beginning . "<pre>" . $middle . "</pre>" . $ending;
}

View file

@ -9,7 +9,7 @@ class BiographyTest extends ShimmiePHPUnitTestCase
public function testBio()
{
$this->log_in_as_user();
$this->post_page("biography", ["biography"=>"My bio goes here"]);
$this->post_page("biography", ["biography" => "My bio goes here"]);
$this->get_page("user/" . self::$user_name);
$this->assert_text("My bio goes here");

View file

@ -17,7 +17,7 @@ class BiographyTheme extends Themelet
{
$html = SHM_SIMPLE_FORM(
make_link("biography"),
TEXTAREA(["style"=>"width: 100%", "rows"=>"6", "name"=>"biography"], $bio),
TEXTAREA(["style" => "width: 100%", "rows" => "6", "name" => "biography"], $bio),
SHM_SUBMIT("Save")
);

View file

@ -34,7 +34,7 @@ class Blocks extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent==="system") {
if ($event->parent === "system") {
if ($user->can(Permissions::MANAGE_BLOCKS)) {
$event->add_nav_link("blocks", new Link('blocks/list'), "Blocks Editor");
}
@ -78,7 +78,7 @@ class Blocks extends Extension
$database->execute("
INSERT INTO blocks (pages, title, area, priority, content, userclass)
VALUES (:pages, :title, :area, :priority, :content, :userclass)
", ['pages'=>$_POST['pages'], 'title'=>$_POST['title'], 'area'=>$_POST['area'], 'priority'=>(int)$_POST['priority'], 'content'=>$_POST['content'], 'userclass'=>$_POST['userclass']]);
", ['pages' => $_POST['pages'], 'title' => $_POST['title'], 'area' => $_POST['area'], 'priority' => (int)$_POST['priority'], 'content' => $_POST['content'], 'userclass' => $_POST['userclass']]);
log_info("blocks", "Added Block #".($database->get_last_insert_id('blocks_id_seq'))." (".$_POST['title'].")");
$cache->delete("blocks");
$page->set_mode(PageMode::REDIRECT);
@ -91,13 +91,13 @@ class Blocks extends Extension
$database->execute("
DELETE FROM blocks
WHERE id=:id
", ['id'=>$_POST['id']]);
", ['id' => $_POST['id']]);
log_info("blocks", "Deleted Block #".$_POST['id']);
} else {
$database->execute("
UPDATE blocks SET pages=:pages, title=:title, area=:area, priority=:priority, content=:content, userclass=:userclass
WHERE id=:id
", ['pages'=>$_POST['pages'], 'title'=>$_POST['title'], 'area'=>$_POST['area'], 'priority'=>(int)$_POST['priority'], 'content'=>$_POST['content'], 'userclass'=>$_POST['userclass'], 'id'=>$_POST['id']]);
", ['pages' => $_POST['pages'], 'title' => $_POST['title'], 'area' => $_POST['area'], 'priority' => (int)$_POST['priority'], 'content' => $_POST['content'], 'userclass' => $_POST['userclass'], 'id' => $_POST['id']]);
log_info("blocks", "Updated Block #".$_POST['id']." (".$_POST['title'].")");
}
$cache->delete("blocks");

View file

@ -20,31 +20,31 @@ class BlocksTheme extends Themelet
{
global $page;
$html = TABLE(["class"=>"form", "style"=>"width: 100%;"]);
$html = TABLE(["class" => "form", "style" => "width: 100%;"]);
foreach ($blocks as $block) {
$html->appendChild(SHM_SIMPLE_FORM(
"blocks/update",
TR(
INPUT(["type"=>"hidden", "name"=>"id", "value"=>$block['id']]),
INPUT(["type" => "hidden", "name" => "id", "value" => $block['id']]),
TH("Title"),
TD(INPUT(["type"=>"text", "name"=>"title", "value"=>$block['title']])),
TD(INPUT(["type" => "text", "name" => "title", "value" => $block['title']])),
TH("Area"),
TD(INPUT(["type"=>"text", "name"=>"area", "value"=>$block['area']])),
TD(INPUT(["type" => "text", "name" => "area", "value" => $block['area']])),
TH("Priority"),
TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>$block['priority']])),
TD(INPUT(["type" => "text", "name" => "priority", "value" => $block['priority']])),
TH("User Class"),
TD(INPUT(["type"=>"text", "name"=>"userclass", "value"=>$block['userclass']])),
TD(INPUT(["type" => "text", "name" => "userclass", "value" => $block['userclass']])),
TH("Pages"),
TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>$block['pages']])),
TD(INPUT(["type" => "text", "name" => "pages", "value" => $block['pages']])),
TH("Delete"),
TD(INPUT(["type"=>"checkbox", "name"=>"delete"])),
TD(INPUT(["type"=>"submit", "value"=>"Save"]))
TD(INPUT(["type" => "checkbox", "name" => "delete"])),
TD(INPUT(["type" => "submit", "value" => "Save"]))
),
TR(
TD(["colspan"=>"13"], TEXTAREA(["rows"=>"5", "name"=>"content"], $block['content']))
TD(["colspan" => "13"], TEXTAREA(["rows" => "5", "name" => "content"], $block['content']))
),
TR(
TD(["colspan"=>"13"], rawHTML("&nbsp;"))
TD(["colspan" => "13"], rawHTML("&nbsp;"))
),
));
}
@ -53,19 +53,19 @@ class BlocksTheme extends Themelet
"blocks/add",
TR(
TH("Title"),
TD(INPUT(["type"=>"text", "name"=>"title", "value"=>""])),
TD(INPUT(["type" => "text", "name" => "title", "value" => ""])),
TH("Area"),
TD(SELECT(["name"=>"area"], OPTION("left"), OPTION("main"))),
TD(SELECT(["name" => "area"], OPTION("left"), OPTION("main"))),
TH("Priority"),
TD(INPUT(["type"=>"text", "name"=>"priority", "value"=>'50'])),
TD(INPUT(["type" => "text", "name" => "priority", "value" => '50'])),
TH("User Class"),
TD(INPUT(["type"=>"text", "name"=>"userclass", "value"=>""])),
TD(INPUT(["type" => "text", "name" => "userclass", "value" => ""])),
TH("Pages"),
TD(INPUT(["type"=>"text", "name"=>"pages", "value"=>'post/list*'])),
TD(["colspan"=>'3'], INPUT(["type"=>"submit", "value"=>"Add"]))
TD(INPUT(["type" => "text", "name" => "pages", "value" => 'post/list*'])),
TD(["colspan" => '3'], INPUT(["type" => "submit", "value" => "Add"]))
),
TR(
TD(["colspan"=>"13"], TEXTAREA(["rows"=>"5", "name"=>"content"]))
TD(["colspan" => "13"], TEXTAREA(["rows" => "5", "name" => "content"]))
),
));

View file

@ -11,7 +11,7 @@ class BlotterInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Blotter";
public string $url = "http://seemslegit.com/";
public array $authors = ["Zach Hall"=>"zach@sosguy.net"];
public array $authors = ["Zach Hall" => "zach@sosguy.net"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Displays brief updates about whatever you want on every page.
Colors and positioning can be configured to match your site's design.

View file

@ -31,7 +31,7 @@ class Blotter extends Extension
// Insert sample data:
$database->execute(
"INSERT INTO blotter (entry_date, entry_text, important) VALUES (now(), :text, :important)",
["text"=>"Installed the blotter extension!", "important"=>true]
["text" => "Installed the blotter extension!", "important" => true]
);
log_info("blotter", "Installed tables for blotter extension.");
$this->set_version("blotter_version", 2);
@ -53,7 +53,7 @@ class Blotter extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent==="system") {
if ($event->parent === "system") {
if ($user->can(Permissions::BLOTTER_ADMIN)) {
$event->add_nav_link("blotter", new Link('blotter/editor'), "Blotter Editor");
}
@ -100,7 +100,7 @@ class Blotter extends Extension
// Now insert into db:
$database->execute(
"INSERT INTO blotter (entry_date, entry_text, important) VALUES (now(), :text, :important)",
["text"=>$entry_text, "important"=>$important]
["text" => $entry_text, "important" => $important]
);
log_info("blotter", "Added Message: $entry_text");
$page->set_mode(PageMode::REDIRECT);
@ -115,7 +115,7 @@ class Blotter extends Extension
$this->theme->display_permission_denied();
} else {
$id = int_escape($_POST['id']);
$database->execute("DELETE FROM blotter WHERE id=:id", ["id"=>$id]);
$database->execute("DELETE FROM blotter WHERE id=:id", ["id" => $id]);
log_info("blotter", "Removed Entry #$id");
$page->set_mode(PageMode::REDIRECT);
$page->set_redirect(make_link("blotter/editor"));

View file

@ -127,7 +127,7 @@ class BlotterTheme extends Themelet
$entry_text = $entries[$i]['entry_text'];
if ($entries[$i]['important'] == 'Y') {
$i_open = "<span style='color: #$i_color;'>";
$i_close="</span>";
$i_close = "</span>";
}
$html .= "{$i_open}{$clean_date} - {$entry_text}{$i_close}<br /><br />";
}
@ -155,7 +155,7 @@ class BlotterTheme extends Themelet
$entry_text = $entries[$i]['entry_text'];
if ($entries[$i]['important'] == 'Y') {
$i_open = "<span style='color: #$i_color'>";
$i_close="</span>";
$i_close = "</span>";
}
$entries_list .= "<li>{$i_open}{$clean_date} - {$entry_text}{$i_close}</li>";
}

View file

@ -11,7 +11,7 @@ class BrowserSearchInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Browser Search";
public string $url = "http://atravelinggeek.com/";
public array $authors = ["ATravelingGeek"=>"atg@atravelinggeek.com"];
public array $authors = ["ATravelingGeek" => "atg@atravelinggeek.com"];
public string $license = self::LICENSE_GPLV2;
public ?string $version = "0.1c, October 26, 2007";
public string $description = "Allows the user to add a browser 'plugin' to search the site with real-time suggestions";

View file

@ -65,7 +65,7 @@ class BrowserSearch extends Extension
}
$tags = $database->get_col(
"SELECT tag FROM tags WHERE tag LIKE :tag AND count > 0 ORDER BY $order LIMIT 30",
['tag'=>$tag_search."%"]
['tag' => $tag_search."%"]
);
// And to do stuff with it. We want our output to look like:

View file

@ -10,7 +10,7 @@ class BulkActionsInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Bulk Actions";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Provides query and selection-based bulk action support";
public ?string $documentation = "Provides bulk action section in list view. Allows performing actions against a set of posts based on query or manual selection. Based on Mass Tagger by <a href='mailto:walde.christian@googlemail.com'>Christian Walde</a>, contributions by Shish and Agasa.

View file

@ -15,15 +15,15 @@ class BulkActionBlockBuildingEvent extends Event
public function add_action(string $action, string $button_text, string $access_key = null, string $confirmation_message = "", string $block = "", int $position = 40)
{
if (!empty($access_key)) {
assert(strlen($access_key)==1);
assert(strlen($access_key) == 1);
foreach ($this->actions as $existing) {
if ($existing["access_key"]==$access_key) {
if ($existing["access_key"] == $access_key) {
throw new SCoreException("Access key $access_key is already in use");
}
}
}
$this->actions[] =[
$this->actions[] = [
"block" => $block,
"access_key" => $access_key,
"confirmation_message" => $confirmation_message,
@ -137,7 +137,7 @@ class BulkActions extends Extension
$replace = true;
}
$i= $this->tag_items($event->items, $tags, $replace);
$i = $this->tag_items($event->items, $tags, $replace);
$page->flash("Tagged $i items");
}
break;
@ -204,7 +204,7 @@ class BulkActions extends Extension
foreach ($data as $id) {
if (is_numeric($id)) {
$image = Image::by_id($id);
if ($image!=null) {
if ($image != null) {
yield $image;
}
}

View file

@ -11,7 +11,7 @@ class BulkAddCSVInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Bulk Add CSV";
public string $url = self::SHIMMIE_URL;
public array $authors = ["velocity37"=>"velocity37@gmail.com"];
public array $authors = ["velocity37" => "velocity37@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Bulk add server-side posts with metadata from CSV file";
public ?string $documentation =

View file

@ -10,7 +10,7 @@ class BulkDownloadInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Bulk Download";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Allows bulk downloading images.";
public array $dependencies = [BulkActionsInfo::KEY];

View file

@ -45,7 +45,7 @@ class BulkDownload extends Extension
{
global $user, $page, $config;
if ($user->can(Permissions::BULK_DOWNLOAD)&&
if ($user->can(Permissions::BULK_DOWNLOAD) &&
($event->action == BulkDownload::DOWNLOAD_ACTION_NAME)) {
$download_filename = $user->name . '-' . date('YmdHis') . '.zip';
$zip_filename = tempnam(sys_get_temp_dir(), "shimmie_bulk_download");
@ -57,7 +57,7 @@ class BulkDownload extends Extension
foreach ($event->items as $image) {
$img_loc = warehouse_path(Image::IMAGE_DIR, $image->hash, false);
$size_total += filesize($img_loc);
if ($size_total>$max_size) {
if ($size_total > $max_size) {
throw new BulkDownloadException("Bulk download limited to ".human_filesize($max_size));
}

View file

@ -12,7 +12,7 @@ class BulkImportExportInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Bulk Import/Export";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Allows bulk exporting/importing of images and associated data.";
public array $dependencies = [BulkActionsInfo::KEY];

View file

@ -37,7 +37,7 @@ class BulkImportExport extends DataHandlerExtension
$database->begin_transaction();
try {
$image = Image::by_hash($item->hash);
if ($image!=null) {
if ($image != null) {
$skipped++;
log_info(BulkImportExportInfo::KEY, "Post $item->hash already present, skipping");
$database->commit();
@ -54,17 +54,17 @@ class BulkImportExport extends DataHandlerExtension
$id = add_image($tmpfile, $item->filename, Tag::implode($item->tags))->image_id;
if ($id==-1) {
if ($id == -1) {
throw new SCoreException("Unable to import file $item->hash");
}
$image = Image::by_id($id);
if ($image==null) {
if ($image == null) {
throw new SCoreException("Unable to import file $item->hash");
}
if ($item->source!=null) {
if ($item->source != null) {
$image->set_source($item->source);
}
send_event(new BulkImportEvent($image, $item));

View file

@ -10,7 +10,7 @@ class BulkParentChildInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Bulk Parent Child";
public array $authors = ["Flatty"=>""];
public array $authors = ["Flatty" => ""];
public string $license = self::LICENSE_WTFPL;
public string $description = "Allows bulk setting of parent-child relationships, in order of manual selection";
public array $dependencies = [BulkActionsInfo::KEY];

View file

@ -27,7 +27,7 @@ class BulkParentChild extends Extension
public function onBulkAction(BulkActionEvent $event)
{
global $user, $page, $config;
if ($user->can(Permissions::BULK_PARENT_CHILD)&&
if ($user->can(Permissions::BULK_PARENT_CHILD) &&
($event->action == BulkParentChild::PARENT_CHILD_ACTION_NAME)) {
$prev_id = null;
foreach ($event->items as $image) {

View file

@ -84,7 +84,7 @@ class Comment
SELECT COUNT(*) AS count
FROM comments
WHERE owner_id=:owner_id
", ["owner_id"=>$user->id]);
", ["owner_id" => $user->id]);
}
#[Field(name: "owner")]
@ -187,7 +187,7 @@ class CommentList extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
if ($event->parent=="comment") {
if ($event->parent == "comment") {
$event->add_nav_link("comment_list", new Link('comment/list'), "All");
$event->add_nav_link("comment_help", new Link('ext_doc/comment'), "Help");
}
@ -306,7 +306,7 @@ class CommentList extends Extension
GROUP BY image_id
ORDER BY latest DESC
LIMIT :limit OFFSET :offset
", ["limit"=>$threads_per_page, "offset"=>$start]);
", ["limit" => $threads_per_page, "offset" => $start]);
$user_ratings = Extension::is_enabled(RatingsInfo::KEY) ? Ratings::get_user_class_privs($user) : "";
@ -322,7 +322,7 @@ class CommentList extends Extension
if (
Extension::is_enabled(ApprovalInfo::KEY) && !is_null($image) &&
$config->get_bool(ApprovalConfig::IMAGES) &&
$image->approved!==true
$image->approved !== true
) {
$image = null;
}
@ -332,7 +332,7 @@ class CommentList extends Extension
}
}
$this->theme->display_comment_list($images, $current_page+1, $total_pages, $user->can(Permissions::CREATE_COMMENT));
$this->theme->display_comment_list($images, $current_page + 1, $total_pages, $user->can(Permissions::CREATE_COMMENT));
}
private function onPageRequest_beta_search(PageRequestEvent $event)
@ -344,7 +344,7 @@ class CommentList extends Extension
$com_per_page = 50;
$total_pages = (int)ceil($i_comment_count / $com_per_page);
$comments = $this->get_user_comments($duser->id, $com_per_page, $page_num * $com_per_page);
$this->theme->display_all_user_comments($comments, $page_num+1, $total_pages, $duser);
$this->theme->display_all_user_comments($comments, $page_num + 1, $total_pages, $duser);
}
public function onAdminBuilding(AdminBuildingEvent $event)
@ -401,7 +401,7 @@ class CommentList extends Extension
$database->execute("
DELETE FROM comments
WHERE id=:comment_id
", ["comment_id"=>$event->comment_id]);
", ["comment_id" => $event->comment_id]);
log_info("comment", "Deleting Comment #{$event->comment_id}");
}
@ -446,7 +446,7 @@ class CommentList extends Extension
public function onHelpPageBuilding(HelpPageBuildingEvent $event)
{
if ($event->key===HelpPages::SEARCH) {
if ($event->key === HelpPages::SEARCH) {
$block = new Block();
$block->header = "Comments";
$block->body = $this->theme->get_help_html();
@ -483,13 +483,13 @@ class CommentList extends Extension
LEFT JOIN users ON comments.owner_id=users.id
ORDER BY comments.id DESC
LIMIT :limit
", ["limit"=>$count]);
", ["limit" => $count]);
}
/**
* #return Comment[]
*/
private static function get_user_comments(int $user_id, int $count, int $offset=0): array
private static function get_user_comments(int $user_id, int $count, int $offset = 0): array
{
return CommentList::get_generic_comments("
SELECT
@ -502,7 +502,7 @@ class CommentList extends Extension
WHERE users.id = :user_id
ORDER BY comments.id DESC
LIMIT :limit OFFSET :offset
", ["user_id"=>$user_id, "offset"=>$offset, "limit"=>$count]);
", ["user_id" => $user_id, "offset" => $offset, "limit" => $count]);
}
/**
@ -521,7 +521,7 @@ class CommentList extends Extension
LEFT JOIN users ON comments.owner_id=users.id
WHERE comments.image_id=:image_id
ORDER BY comments.id ASC
", ["image_id"=>$image_id]);
", ["image_id" => $image_id]);
}
private function is_comment_limit_hit(): bool
@ -547,7 +547,7 @@ class CommentList extends Extension
SELECT *
FROM comments
WHERE owner_ip = :remote_ip AND posted > now() - $window_sql
", ["remote_ip"=>get_real_ip()]);
", ["remote_ip" => get_real_ip()]);
return (count($result) >= $max);
}
@ -609,7 +609,7 @@ class CommentList extends Extension
SELECT *
FROM comments
WHERE image_id=:image_id AND comment=:comment
", ["image_id"=>$image_id, "comment"=>$comment]);
", ["image_id" => $image_id, "comment" => $comment]);
}
// do some checks
@ -624,12 +624,12 @@ class CommentList extends Extension
// all checks passed
if ($user->is_anonymous()) {
$page->add_cookie("nocache", "Anonymous Commenter", time()+60*60*24, "/");
$page->add_cookie("nocache", "Anonymous Commenter", time() + 60 * 60 * 24, "/");
}
$database->execute(
"INSERT INTO comments(image_id, owner_id, owner_ip, posted, comment) ".
"VALUES(:image_id, :user_id, :remote_addr, now(), :comment)",
["image_id"=>$image_id, "user_id"=>$user->id, "remote_addr"=>get_real_ip(), "comment"=>$comment]
["image_id" => $image_id, "user_id" => $user->id, "remote_addr" => get_real_ip(), "comment" => $comment]
);
$cid = $database->get_last_insert_id('comments_id_seq');
$snippet = substr($comment, 0, 100);
@ -654,10 +654,10 @@ class CommentList extends Extension
}
// advanced sanity checks
elseif (strlen($comment)/strlen(gzcompress($comment)) > 10) {
elseif (strlen($comment) / strlen(gzcompress($comment)) > 10) {
throw new CommentPostingException("Comment too repetitive~");
} elseif ($user->is_anonymous() && !$this->hash_match()) {
$page->add_cookie("nocache", "Anonymous Commenter", time()+60*60*24, "/");
$page->add_cookie("nocache", "Anonymous Commenter", time() + 60 * 60 * 24, "/");
throw new CommentPostingException(
"Comment submission form is out of date; refresh the ".
"comment form to show you aren't a spammer~"

View file

@ -194,7 +194,7 @@ class CommentListTheme extends Themelet
$this->display_paginator($page, "comment/beta-search/{$user->name}", null, $page_number, $total_pages);
}
protected function comment_to_html(Comment $comment, bool $trim=false): string
protected function comment_to_html(Comment $comment, bool $trim = false): string
{
global $config, $user;

View file

@ -20,7 +20,7 @@ class CronUploaderInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Cron Uploader";
public string $url = self::SHIMMIE_URL;
public array $authors = ["YaoiFox"=>"admin@yaoifox.com", "Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["YaoiFox" => "admin@yaoifox.com", "Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Uploads images automatically using Cron Jobs";

View file

@ -57,7 +57,7 @@ class CronUploader extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
if ($event->parent=="system") {
if ($event->parent == "system") {
$event->add_nav_link("cron_docs", new Link('cron_upload'), "Cron Upload");
}
}
@ -71,7 +71,7 @@ class CronUploader extends Extension
global $user;
if ($event->page_matches("cron_upload")) {
if ($event->count_args() == 1 && $event->get_arg(0) =="run") {
if ($event->count_args() == 1 && $event->get_arg(0) == "run") {
$this->process_upload(); // Start upload
} elseif ($user->can(Permissions::CRON_RUN)) {
$this->display_documentation();
@ -127,7 +127,7 @@ class CronUploader extends Extension
if (self::$IMPORT_RUNNING) {
$all = $user_config->get_bool(CronUploaderConfig::INCLUDE_ALL_LOGS);
if ($event->priority >= $user_config->get_int(CronUploaderConfig::LOG_LEVEL) &&
($event->section==self::NAME || $all)) {
($event->section == self::NAME || $all)) {
$output = "[" . date('Y-m-d H:i:s') . "] " . ($all ? '[' . $event->section . '] ' : '') . "[" . LOGGING_LEVEL_NAMES[$event->priority] . "] " . $event->message;
echo $output . "\r\n";
@ -157,7 +157,7 @@ class CronUploader extends Extension
$results = get_files_recursively($stage_dir);
if (count($results) == 0) {
if (remove_empty_dirs($stage_dir)===false) {
if (remove_empty_dirs($stage_dir) === false) {
$page->flash("Nothing to stage from $folder, cannot remove folder");
} else {
$page->flash("Nothing to stage from $folder, removing folder");
@ -182,15 +182,15 @@ class CronUploader extends Extension
mkdir($dir, 0775, true);
}
if (rename($result, $new_path)===false) {
if (rename($result, $new_path) === false) {
$page->flash("Could not move file: " .$result);
$success = false;
}
}
if ($success===true) {
if ($success === true) {
$page->flash("Re-staged $folder to queue");
if (remove_empty_dirs($stage_dir)===false) {
if (remove_empty_dirs($stage_dir) === false) {
$page->flash("Could not remove $folder");
}
}
@ -325,7 +325,7 @@ class CronUploader extends Extension
{
global $database, $user, $user_config, $config, $_shm_load_start;
$max_time = intval(ini_get('max_execution_time'))*.8;
$max_time = intval(ini_get('max_execution_time')) * .8;
$this->set_headers();
@ -365,7 +365,7 @@ class CronUploader extends Extension
// Upload the file(s)
foreach ($image_queue as $img) {
$execution_time = ftime() - $_shm_load_start;
if ($execution_time>$max_time) {
if ($execution_time > $max_time) {
break;
} else {
$remaining = $max_time - $execution_time;
@ -405,7 +405,7 @@ class CronUploader extends Extension
}
// Throw exception if there's nothing in the queue
if ($merged+$failed+$added === 0) {
if ($merged + $failed + $added === 0) {
$this->log_message(SCORE_LOG_WARNING, "Your queue is empty so nothing could be uploaded.");
return false;
}
@ -429,13 +429,13 @@ class CronUploader extends Extension
$rootDir = $user_config->get_string(CronUploaderConfig::DIR);
$rootLength = strlen($rootDir);
if ($rootDir[$rootLength-1]=="/"||$rootDir[$rootLength-1]=="\\") {
if ($rootDir[$rootLength - 1] == "/" || $rootDir[$rootLength - 1] == "\\") {
$rootLength--;
}
$relativeDir = dirname(substr($path, $rootLength + 7));
if ($relativeDir==".") {
if ($relativeDir == ".") {
$relativeDir = "";
}

View file

@ -84,7 +84,7 @@ class CronUploaderTheme extends Themelet
</ol>";
$max_time = intval(ini_get('max_execution_time'))*.8;
$max_time = intval(ini_get('max_execution_time')) * .8;
$usage_html = "Upload your images you want to be uploaded to the queue directory using your FTP client or other means.
<br />(<b>{$queue_dirinfo['path']}</b>)
@ -109,7 +109,7 @@ class CronUploaderTheme extends Themelet
$block = new Block("Cron Uploader", $info_html, "main", 10);
$block_install = new Block("Setup Guide", $install_html, "main", 30);
$block_usage= new Block("Usage Guide", $usage_html, "main", 20);
$block_usage = new Block("Usage Guide", $usage_html, "main", 20);
$page->add_block($block);
$page->add_block($block_install);
$page->add_block($block_usage);
@ -130,28 +130,28 @@ class CronUploaderTheme extends Themelet
$form = SHM_SIMPLE_FORM(
"user_admin/cron_uploader",
TABLE(
["class"=>"form"],
["class" => "form"],
TBODY(
TR(
TH("Cron Uploader")
),
TR(
TH("Root dir"),
TD(INPUT(["type"=>'text', "name"=>'name', "required"=>true]))
TD(INPUT(["type" => 'text', "name" => 'name', "required" => true]))
),
TR(
TH(),
TD(
LABEL(INPUT(["type"=>'checkbox', "name"=>'stop_on_error']), "Stop On Error")
LABEL(INPUT(["type" => 'checkbox', "name" => 'stop_on_error']), "Stop On Error")
)
),
TR(
TH(rawHTML("Repeat&nbsp;Password")),
TD(INPUT(["type"=>'password', "name"=>'pass2', "required"=>true]))
TD(INPUT(["type" => 'password', "name" => 'pass2', "required" => true]))
)
),
TFOOT(
TR(TD(["colspan"=>"2"], INPUT(["type"=>"submit", "value"=>"Save Settings"])))
TR(TD(["colspan" => "2"], INPUT(["type" => "submit", "value" => "Save Settings"])))
)
)
);

View file

@ -11,7 +11,7 @@ class CustomHtmlHeadersInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Custom HTML Headers";
public string $url = "http://www.drudexsoftware.com";
public array $authors = ["Drudex Software"=>"support@drudexsoftware.com"];
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Allows admins to modify & set custom &lt;head&gt; content";
public ?string $documentation =

View file

@ -43,7 +43,7 @@ class CustomHtmlHeaders extends Extension
global $config, $page;
$header = $config->get_string('custom_html_headers', '');
if ($header!='') {
if ($header != '') {
$page->add_html_header($header);
}
}

View file

@ -10,7 +10,7 @@ class DanbooruApiInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Danbooru Client API";
public array $authors = ["JJS"=>"jsutinen@gmail.com"];
public array $authors = ["JJS" => "jsutinen@gmail.com"];
public string $description = "Allow Danbooru apps like Danbooru Uploader for Firefox to communicate with Shimmie";
public ?string $documentation =
"<b>Notes</b>:

View file

@ -99,7 +99,7 @@ class DanbooruApi extends Extension
foreach ($idlist as $id) {
$sqlresult = $database->get_all(
"SELECT id,tag,count FROM tags WHERE id = :id",
['id'=>$id]
['id' => $id]
);
foreach ($sqlresult as $row) {
$results[] = [$row['count'], $row['tag'], $row['id']];
@ -110,7 +110,7 @@ class DanbooruApi extends Extension
foreach ($namelist as $name) {
$sqlresult = $database->get_all(
"SELECT id,tag,count FROM tags WHERE LOWER(tag) = LOWER(:tag)",
['tag'=>$name]
['tag' => $name]
);
foreach ($sqlresult as $row) {
$results[] = [$row['count'], $row['tag'], $row['id']];
@ -129,7 +129,7 @@ class DanbooruApi extends Extension
$start = isset($_GET['after_id']) ? int_escape($_GET['offset']) : 0;
$sqlresult = $database->get_all(
"SELECT id,tag,count FROM tags WHERE count > 0 AND id >= :id ORDER BY id DESC",
['id'=>$start]
['id' => $start]
);
foreach ($sqlresult as $row) {
$results[] = [$row['count'], $row['tag'], $row['id']];
@ -205,7 +205,7 @@ class DanbooruApi extends Extension
// Now we have the array $results filled with Image objects
// Let's display them
$xml = POSTS(["count"=>$count, "offset"=>$start]);
$xml = POSTS(["count" => $count, "offset" => $start]);
foreach ($results as $img) {
// Sanity check to see if $img is really an image object
// If it isn't (e.g. someone requested an invalid md5 or id), break out of the this

View file

@ -13,13 +13,13 @@ class DanbooruApiTest extends ShimmiePHPUnitTestCase
$image_id = $this->post_image("tests/bedroom_workshop.jpg", "data");
$this->get_page("api/danbooru/find_posts");
$this->get_page("api/danbooru/find_posts", ["id"=>$image_id]);
$this->get_page("api/danbooru/find_posts", ["md5"=>"17fc89f372ed3636e28bd25cc7f3bac1"]);
$this->get_page("api/danbooru/find_posts", ["tags"=>"*"]);
$this->get_page("api/danbooru/find_posts", ["id" => $image_id]);
$this->get_page("api/danbooru/find_posts", ["md5" => "17fc89f372ed3636e28bd25cc7f3bac1"]);
$this->get_page("api/danbooru/find_posts", ["tags" => "*"]);
$this->get_page("api/danbooru/find_tags");
$this->get_page("api/danbooru/find_tags", ["id"=>1]);
$this->get_page("api/danbooru/find_tags", ["name"=>"data"]);
$this->get_page("api/danbooru/find_tags", ["id" => 1]);
$this->get_page("api/danbooru/find_tags", ["name" => "data"]);
$page = $this->get_page("api/danbooru/post/show/$image_id");
$this->assertEquals(302, $page->code);

View file

@ -10,7 +10,7 @@ class DownloadInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Download";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "System-wide download functions";
public bool $core = true;

View file

@ -22,7 +22,7 @@ class ET extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent==="system") {
if ($event->parent === "system") {
if ($user->can(Permissions::VIEW_SYSINTO)) {
$event->add_nav_link("system_info", new Link('system_info'), "System Info", null, 10);
}
@ -105,9 +105,9 @@ class ET extends Extension
if (file_exists(".git")) {
try {
$commitHash = trim(exec('git log --pretty="%h" -n1 HEAD'));
$commitBranch= trim(exec('git rev-parse --abbrev-ref HEAD'));
$commitOrigin= trim(exec('git config --get remote.origin.url'));
$commitOrigin= preg_replace("#//.*@#", "//xxx@", $commitOrigin);
$commitBranch = trim(exec('git rev-parse --abbrev-ref HEAD'));
$commitOrigin = trim(exec('git config --get remote.origin.url'));
$commitOrigin = preg_replace("#//.*@#", "//xxx@", $commitOrigin);
$info['git'] = [
'commit' => $commitHash,
'branch' => $commitBranch,

View file

@ -29,18 +29,18 @@ class ETTheme extends Themelet
protected function build_data_form($yaml): \MicroHTML\HTMLElement
{
return FORM(
["action"=>"https://shimmie.shishnet.org/register.php", "method"=>"POST"],
INPUT(["type"=>"hidden", "name"=>"registration_api", "value"=>"2"]),
["action" => "https://shimmie.shishnet.org/register.php", "method" => "POST"],
INPUT(["type" => "hidden", "name" => "registration_api", "value" => "2"]),
P(
"Your stats are useful so that I know which combinations of ".
"web servers / databases / etc I need to support :)"
),
P(TEXTAREA(
["name"=>'data', "style"=>"width: 100%; height: 20em;"],
["name" => 'data', "style" => "width: 100%; height: 20em;"],
$yaml
)),
P(INPUT(
["type"=>'submit', "value"=>'Click to send to Shish', "style"=>"width: 100%; padding: 1em;"]
["type" => 'submit', "value" => 'Click to send to Shish', "style" => "width: 100%; padding: 1em;"]
)),
);
}

View file

@ -16,7 +16,7 @@ class ETServer extends Extension
if (isset($_POST["data"])) {
$database->execute(
"INSERT INTO registration(data) VALUES(:data)",
["data"=>$_POST["data"]]
["data" => $_POST["data"]]
);
$page->set_title("Thanks!");
$page->set_heading("Thanks!");
@ -28,7 +28,7 @@ class ETServer extends Extension
foreach ($database->get_all("SELECT responded, data FROM registration ORDER BY responded DESC") as $row) {
$page->add_block(new Block(
$row["responded"],
PRE(["style"=>"text-align: left; overflow: scroll;"], $row["data"]),
PRE(["style" => "text-align: left; overflow: scroll;"], $row["data"]),
"main",
$n++
));

View file

@ -6,10 +6,10 @@ namespace Shimmie2;
function __extman_extcmp(ExtensionInfo $a, ExtensionInfo $b): int
{
if ($a->beta===true&&$b->beta===false) {
if ($a->beta === true && $b->beta === false) {
return 1;
}
if ($a->beta===false&&$b->beta===true) {
if ($a->beta === false && $b->beta === true) {
return -1;
}
@ -92,7 +92,7 @@ class ExtManager extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent==="system") {
if ($event->parent === "system") {
if ($user->can(Permissions::MANAGE_EXTENSION_LIST)) {
$event->add_nav_link("ext_manager", new Link('ext_manager'), "Extension Manager");
} else {

View file

@ -34,7 +34,7 @@ class ExtManagerTheme extends Themelet
$form = SHM_SIMPLE_FORM(
"ext_manager/set",
TABLE(
["id"=>'extensions', "class"=>'zebra'],
["id" => 'extensions', "class" => 'zebra'],
THEAD(TR(
$editable ? TH("Enabled") : null,
TH("Name"),
@ -42,7 +42,7 @@ class ExtManagerTheme extends Themelet
TH("Description")
)),
$tbody,
$editable ? TFOOT(TR(TD(["colspan"=>'5'], INPUT(["type"=>'submit', "value"=>'Set Extensions'])))) : null
$editable ? TFOOT(TR(TD(["colspan" => '5'], INPUT(["type" => 'submit', "value" => 'Set Extensions'])))) : null
)
);
@ -53,18 +53,18 @@ class ExtManagerTheme extends Themelet
}
$tbody->appendChild(TR(
["data-ext"=>$extension->name],
["data-ext" => $extension->name],
$editable ? TD(INPUT([
"type"=>'checkbox',
"name"=>"ext_{$extension->key}",
"id"=>"ext_{$extension->key}",
"checked"=>($extension->is_enabled() === true),
"disabled"=>($extension->is_supported()===false || $extension->core===true)
"type" => 'checkbox',
"name" => "ext_{$extension->key}",
"id" => "ext_{$extension->key}",
"checked" => ($extension->is_enabled() === true),
"disabled" => ($extension->is_supported() === false || $extension->core === true)
])) : null,
TD(LABEL(
["for"=>"ext_{$extension->key}"],
["for" => "ext_{$extension->key}"],
(
($extension->beta===true ? "[BETA] " : "").
($extension->beta === true ? "[BETA] " : "").
(empty($extension->name) ? $extension->key : $extension->name)
)
)),
@ -72,16 +72,16 @@ class ExtManagerTheme extends Themelet
// TODO: A proper "docs" symbol would be preferred here.
$extension->documentation ?
A(
["href"=>make_link("ext_doc/" . url_escape($extension->key))],
IMG(["src"=>'ext/ext_manager/baseline_open_in_new_black_18dp.png'])
["href" => make_link("ext_doc/" . url_escape($extension->key))],
IMG(["src" => 'ext/ext_manager/baseline_open_in_new_black_18dp.png'])
) :
null
),
TD(
["style"=>'text-align: left;'],
["style" => 'text-align: left;'],
$extension->description,
" ",
B(["style"=>'color:red'], $extension->get_support_info())
B(["style" => 'color:red'], $extension->get_support_info())
),
));
}
@ -98,9 +98,9 @@ class ExtManagerTheme extends Themelet
if (count($info->authors) > 0) {
$author->appendChild(BR());
$author->appendChild(B(count($info->authors) > 1 ? "Authors: " : "Author: "));
foreach ($info->authors as $auth=>$email) {
foreach ($info->authors as $auth => $email) {
if (!empty($email)) {
$author->appendChild(A(["href"=>"mailto:$email"], $auth));
$author->appendChild(A(["href" => "mailto:$email"], $auth));
} else {
$author->appendChild($auth);
}
@ -109,13 +109,13 @@ class ExtManagerTheme extends Themelet
}
$html = DIV(
["style"=>'margin: auto; text-align: left; width: 512px;'],
["style" => 'margin: auto; text-align: left; width: 512px;'],
$author,
($info->version ? emptyHTML(BR(), B("Version: "), $info->version) : null),
($info->link ? emptyHTML(BR(), B("Home Page"), A(["href"=>$info->link], "Link")) : null),
($info->link ? emptyHTML(BR(), B("Home Page"), A(["href" => $info->link], "Link")) : null),
P(rawHTML($info->documentation ?? "(This extension has no documentation)")),
// <hr>,
P(A(["href"=>make_link("ext_manager")], "Back to the list"))
P(A(["href" => make_link("ext_manager")], "Back to the list"))
);
$page->set_title("Documentation for " . html_escape($info->name));

View file

@ -10,7 +10,7 @@ class FavoritesInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Favorites";
public array $authors = ["Daniel Marschall"=>"info@daniel-marschall.de"];
public array $authors = ["Daniel Marschall" => "info@daniel-marschall.de"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Allow users to favorite images";
public ?string $documentation =

View file

@ -36,7 +36,7 @@ class Favorites extends Extension
$is_favorited = $database->get_one(
"SELECT COUNT(*) AS ct FROM user_favorites WHERE user_id = :user_id AND image_id = :image_id",
["user_id"=>$user_id, "image_id"=>$image_id]
["user_id" => $user_id, "image_id" => $image_id]
) > 0;
$event->add_part((string)$this->theme->get_voter_html($event->image, $is_favorited));
@ -102,7 +102,7 @@ class Favorites extends Extension
public function onImageDeletion(ImageDeletionEvent $event)
{
global $database;
$database->execute("DELETE FROM user_favorites WHERE image_id=:image_id", ["image_id"=>$event->image->id]);
$database->execute("DELETE FROM user_favorites WHERE image_id=:image_id", ["image_id" => $event->image->id]);
}
public function onParseLinkTemplate(ParseLinkTemplateEvent $event)
@ -144,7 +144,7 @@ class Favorites extends Extension
public function onHelpPageBuilding(HelpPageBuildingEvent $event)
{
if ($event->key===HelpPages::SEARCH) {
if ($event->key === HelpPages::SEARCH) {
$event->add_block(new Block("Favorites", $this->theme->get_help_html()));
}
}
@ -152,11 +152,11 @@ class Favorites extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
global $user;
if ($event->parent=="posts") {
if ($event->parent == "posts") {
$event->add_nav_link("posts_favorites", new Link("post/list/favorited_by={$user->name}/1"), "My Favorites");
}
if ($event->parent==="user") {
if ($event->parent === "user") {
if ($user->can(Permissions::MANAGE_ADMINTOOLS)) {
$username = url_escape($user->name);
$event->add_nav_link("favorites", new Link("post/list/favorited_by=$username/1"), "My Favorites");
@ -237,21 +237,21 @@ class Favorites extends Extension
{
global $database;
if ($do_set) {
if (!$database->get_row("select 1 from user_favorites where image_id=:image_id and user_id=:user_id", ["image_id"=>$image_id, "user_id"=>$user_id])) {
if (!$database->get_row("select 1 from user_favorites where image_id=:image_id and user_id=:user_id", ["image_id" => $image_id, "user_id" => $user_id])) {
$database->execute(
"INSERT INTO user_favorites(image_id, user_id, created_at) VALUES(:image_id, :user_id, NOW())",
["image_id"=>$image_id, "user_id"=>$user_id]
["image_id" => $image_id, "user_id" => $user_id]
);
}
} else {
$database->execute(
"DELETE FROM user_favorites WHERE image_id = :image_id AND user_id = :user_id",
["image_id"=>$image_id, "user_id"=>$user_id]
["image_id" => $image_id, "user_id" => $user_id]
);
}
$database->execute(
"UPDATE images SET favorites=(SELECT COUNT(*) FROM user_favorites WHERE image_id=:image_id) WHERE id=:user_id",
["image_id"=>$image_id, "user_id"=>$user_id]
["image_id" => $image_id, "user_id" => $user_id]
);
}
@ -264,7 +264,7 @@ class Favorites extends Extension
return $database->get_col(
"SELECT name FROM users WHERE id IN (SELECT user_id FROM user_favorites WHERE image_id = :image_id) ORDER BY name",
["image_id"=>$image->id]
["image_id" => $image->id]
);
}
}

View file

@ -16,9 +16,9 @@ class FavoritesTheme extends Themelet
$label = $is_favorited ? "Un-Favorite" : "Favorite";
return SHM_SIMPLE_FORM(
"change_favorite",
INPUT(["type"=>"hidden", "name"=>"image_id", "value"=>$image->id]),
INPUT(["type"=>"hidden", "name"=>"favorite_action", "value"=>$name]),
INPUT(["type"=>"submit", "value"=>$label]),
INPUT(["type" => "hidden", "name" => "image_id", "value" => $image->id]),
INPUT(["type" => "hidden", "name" => "favorite_action", "value" => $name]),
INPUT(["type" => "submit", "value" => $label]),
);
}

View file

@ -20,26 +20,26 @@ class FeaturedTheme extends Themelet
{
return (string)SHM_SIMPLE_FORM(
"featured_image/set",
INPUT(["type"=>'hidden', "name"=>'image_id', "value"=>$image_id]),
INPUT(["type"=>'submit', "value"=>'Feature This']),
INPUT(["type" => 'hidden', "name" => 'image_id', "value" => $image_id]),
INPUT(["type" => 'submit', "value" => 'Feature This']),
);
}
public function build_featured_html(Image $image, ?string $query=null): \MicroHTML\HTMLElement
public function build_featured_html(Image $image, ?string $query = null): \MicroHTML\HTMLElement
{
$tsize = get_thumbnail_size($image->width, $image->height);
return DIV(
["style"=>"text-align: center;"],
["style" => "text-align: center;"],
A(
["href"=>make_link("post/view/{$image->id}", $query)],
["href" => make_link("post/view/{$image->id}", $query)],
IMG([
"id"=>"thumb_rand_{$image->id}",
"title"=>$image->get_tooltip(),
"alt"=>$image->get_tooltip(),
"class"=>'highlighted',
"style"=>"max-height: {$tsize[1]}px; max-width: 100%;",
"src"=>$image->get_thumb_link()
"id" => "thumb_rand_{$image->id}",
"title" => $image->get_tooltip(),
"alt" => $image->get_tooltip(),
"class" => 'highlighted',
"style" => "max-height: {$tsize[1]}px; max-width: 100%;",
"src" => $image->get_thumb_link()
])
)
);

View file

@ -10,7 +10,7 @@ class ForumInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Forum";
public array $authors = ["Sein Kraft"=>"mail@seinkraft.info","Alpha"=>"alpha@furries.com.ar"];
public array $authors = ["Sein Kraft" => "mail@seinkraft.info","Alpha" => "alpha@furries.com.ar"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Rough forum extension";
}

View file

@ -79,8 +79,8 @@ class Forum extends Extension
{
global $database;
$threads_count = $database->get_one("SELECT COUNT(*) FROM forum_threads WHERE user_id=:user_id", ['user_id'=>$event->display_user->id]);
$posts_count = $database->get_one("SELECT COUNT(*) FROM forum_posts WHERE user_id=:user_id", ['user_id'=>$event->display_user->id]);
$threads_count = $database->get_one("SELECT COUNT(*) FROM forum_threads WHERE user_id=:user_id", ['user_id' => $event->display_user->id]);
$posts_count = $database->get_one("SELECT COUNT(*) FROM forum_posts WHERE user_id=:user_id", ['user_id' => $event->display_user->id]);
$days_old = ((time() - strtotime($event->display_user->join_date)) / 86400) + 1;
@ -113,7 +113,7 @@ class Forum extends Extension
// $pageNumber = int_escape($event->get_arg(2));
list($errors) = $this->sanity_check_viewed_thread($threadID);
if ($errors!=null) {
if ($errors != null) {
$this->theme->display_error(500, "Error", $errors);
break;
}
@ -135,7 +135,7 @@ class Forum extends Extension
if (!$user->is_anonymous()) {
list($errors) = $this->sanity_check_new_thread();
if ($errors!=null) {
if ($errors != null) {
$this->theme->display_error(500, "Error", $errors);
break;
}
@ -176,7 +176,7 @@ class Forum extends Extension
if (!$user->is_anonymous()) {
list($errors) = $this->sanity_check_new_post();
if ($errors!=null) {
if ($errors != null) {
$this->theme->display_error(500, "Error", $errors);
break;
}
@ -197,7 +197,7 @@ class Forum extends Extension
private function get_total_pages_for_thread(int $threadID): int
{
global $database, $config;
$result = $database->get_row("SELECT COUNT(1) AS count FROM forum_posts WHERE thread_id = :thread_id", ['thread_id'=>$threadID]);
$result = $database->get_row("SELECT COUNT(1) AS count FROM forum_posts WHERE thread_id = :thread_id", ['thread_id' => $threadID]);
return (int)ceil($result["count"] / $config->get_int("forumPostsPerPage"));
}
@ -252,7 +252,7 @@ class Forum extends Extension
private function get_thread_title(int $threadID): string
{
global $database;
$result = $database->get_row("SELECT t.title FROM forum_threads AS t WHERE t.id = :id ", ['id'=>$threadID]);
$result = $database->get_row("SELECT t.title FROM forum_threads AS t WHERE t.id = :id ", ['id' => $threadID]);
return $result["title"];
}
@ -277,7 +277,7 @@ class Forum extends Extension
"ON p.thread_id = f.id ".
"GROUP BY f.id, f.sticky, f.title, f.date, u.name, u.email, u.class ".
"ORDER BY f.sticky ASC, f.uptodate DESC LIMIT :limit OFFSET :offset",
["limit"=>$threadsPerPage, "offset"=>$pageNumber * $threadsPerPage]
["limit" => $threadsPerPage, "offset" => $pageNumber * $threadsPerPage]
);
$this->theme->display_thread_list($page, $threads, $showAdminOptions, $pageNumber + 1, $totalPages);
@ -288,7 +288,7 @@ class Forum extends Extension
global $config, $database;
$threadID = int_escape($event->get_arg(1));
$postsPerPage = $config->get_int('forumPostsPerPage', 15);
$totalPages = (int)ceil($database->get_one("SELECT COUNT(*) FROM forum_posts WHERE thread_id = :id", ['id'=>$threadID]) / $postsPerPage);
$totalPages = (int)ceil($database->get_one("SELECT COUNT(*) FROM forum_posts WHERE thread_id = :id", ['id' => $threadID]) / $postsPerPage);
$threadTitle = $this->get_thread_title($threadID);
if ($event->count_args() >= 3) {
@ -305,7 +305,7 @@ class Forum extends Extension
"WHERE thread_id = :thread_id ".
"ORDER BY p.date ASC ".
"LIMIT :limit OFFSET :offset",
["thread_id"=>$threadID, "offset"=>$pageNumber * $postsPerPage, "limit"=>$postsPerPage]
["thread_id" => $threadID, "offset" => $pageNumber * $postsPerPage, "limit" => $postsPerPage]
);
$this->theme->display_thread($posts, $showAdminOptions, $threadTitle, $threadID, $pageNumber + 1, $totalPages);
}
@ -322,7 +322,7 @@ class Forum extends Extension
(title, sticky, user_id, date, uptodate)
VALUES
(:title, :sticky, :user_id, now(), now())",
['title'=>$title, 'sticky'=>$sticky, 'user_id'=>$user->id]
['title' => $title, 'sticky' => $sticky, 'user_id' => $user->id]
);
$threadID = $database->get_last_insert_id("forum_threads_id_seq");
@ -345,32 +345,32 @@ class Forum extends Extension
$database->execute("
INSERT INTO forum_posts (thread_id, user_id, date, message)
VALUES (:thread_id, :user_id, now(), :message)
", ['thread_id'=>$threadID, 'user_id'=>$userID, 'message'=>$message]);
", ['thread_id' => $threadID, 'user_id' => $userID, 'message' => $message]);
$postID = $database->get_last_insert_id("forum_posts_id_seq");
log_info("forum", "Post {$postID} created by {$user->name}");
$database->execute("UPDATE forum_threads SET uptodate=now() WHERE id=:id", ['id'=>$threadID]);
$database->execute("UPDATE forum_threads SET uptodate=now() WHERE id=:id", ['id' => $threadID]);
}
private function delete_thread(int $threadID): void
{
global $database;
$database->execute("DELETE FROM forum_threads WHERE id = :id", ['id'=>$threadID]);
$database->execute("DELETE FROM forum_posts WHERE thread_id = :thread_id", ['thread_id'=>$threadID]);
$database->execute("DELETE FROM forum_threads WHERE id = :id", ['id' => $threadID]);
$database->execute("DELETE FROM forum_posts WHERE thread_id = :thread_id", ['thread_id' => $threadID]);
}
private function delete_post(int $postID): void
{
global $database;
$database->execute("DELETE FROM forum_posts WHERE id = :id", ['id'=>$postID]);
$database->execute("DELETE FROM forum_posts WHERE id = :id", ['id' => $postID]);
}
private function threadExists(int $threadID): bool
{
global $database;
$result=$database->get_one("SELECT EXISTS (SELECT * FROM forum_threads WHERE id=:id)", ['id'=>$threadID]);
$result = $database->get_one("SELECT EXISTS (SELECT * FROM forum_threads WHERE id=:id)", ['id' => $threadID]);
return $result == 1;
}
}

View file

@ -135,7 +135,7 @@ class ForumTheme extends Themelet
$delete_link = "";
}
$post_number = (($pageNumber-1)*$posts_per_page)+$current_post;
$post_number = (($pageNumber - 1) * $posts_per_page) + $current_post;
$html .= "<tr >
<tr class='postHead'>
<td class='forumSupuser'></td>

View file

@ -11,7 +11,7 @@ class GoogleAnalyticsInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Google Analytics";
public string $url = "http://drudexsoftware.com";
public array $authors = ["Drudex Software"=>"support@drudexsoftware.com"];
public array $authors = ["Drudex Software" => "support@drudexsoftware.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Integrates Google Analytics tracking";
public ?string $documentation =

View file

@ -123,7 +123,7 @@ class GraphQL extends Extension
$common_source = $_POST['common_source'];
$results = [];
for ($n=0; $n<100; $n++) {
for ($n = 0; $n < 100; $n++) {
if (empty($_POST["url$n"]) && empty($_FILES["data$n"])) {
break;
}
@ -191,7 +191,7 @@ class GraphQL extends Extension
$body['stats'] = get_debug_info_arr();
$body['stats']['graphql_schema_time'] = round($t2 - $t1, 2);
$body['stats']['graphql_execute_time'] = round($t3 - $t2, 2);
echo \json_encode($body, JSON_UNESCAPED_UNICODE|JSON_PRETTY_PRINT);
echo \json_encode($body, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
}
if ($event->cmd == "graphql-schema") {
$schema = $this->get_schema();

View file

@ -52,7 +52,7 @@ class CBZFileHandler extends DataHandlerExtension
$za = new \ZipArchive();
$za->open($archive);
$names = [];
for ($i=0; $i<$za->numFiles;$i++) {
for ($i = 0; $i < $za->numFiles;$i++) {
$file = $za->statIndex($i);
$names[] = $file['name'];
}

View file

@ -73,7 +73,7 @@ class SVGFileHandler extends DataHandlerExtension
protected function check_contents(string $tmpname): bool
{
if (MimeType::get_for_file($tmpname)!==MimeType::SVG) {
if (MimeType::get_for_file($tmpname) !== MimeType::SVG) {
return false;
}
@ -85,9 +85,9 @@ class SVGFileHandler extends DataHandlerExtension
class MiniSVGParser
{
public bool $valid = false;
public int $width=0;
public int $height=0;
private int $xml_depth=0;
public int $width = 0;
public int $height = 0;
private int $xml_depth = 0;
public function __construct(string $file)
{

View file

@ -10,7 +10,7 @@ class VideoFileHandlerInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Handle Video";
public array $authors = ["velocity37"=>"velocity37@gmail.com",self::SHISH_NAME=>self::SHISH_EMAIL, "jgen"=>"jeffgenovy@gmail.com", "im-mi"=>"im.mi.mail.mi@gmail.com"];
public array $authors = ["velocity37" => "velocity37@gmail.com",self::SHISH_NAME => self::SHISH_EMAIL, "jgen" => "jeffgenovy@gmail.com", "im-mi" => "im.mi.mail.mi@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Handle FLV, MP4, OGV and WEBM video files.";
public ?string $documentation =

View file

@ -99,7 +99,7 @@ class VideoFileHandler extends DataHandlerExtension
$event->image->video = $video;
$event->image->video_codec = $video_codec;
$event->image->audio = $audio;
if ($event->image->get_mime()==MimeType::MKV &&
if ($event->image->get_mime() == MimeType::MKV &&
VideoContainers::is_video_codec_supported(VideoContainers::WEBM, $event->image->video_codec)) {
// WEBMs are MKVs with the VP9 or VP8 codec
// For browser-friendliness, we'll just change the mime type
@ -107,7 +107,7 @@ class VideoFileHandler extends DataHandlerExtension
}
}
}
if (array_key_exists("format", $data)&& is_array($data["format"])) {
if (array_key_exists("format", $data) && is_array($data["format"])) {
$format = $data["format"];
if (array_key_exists("duration", $format) && is_numeric($format["duration"])) {
$event->image->length = (int)floor(floatval($format["duration"]) * 1000);

View file

@ -16,12 +16,12 @@ class VideoFileHandlerTheme extends Themelet
$loop = $config->get_bool(VideoFileHandlerConfig::PLAYBACK_LOOP);
$mute = $config->get_bool(VideoFileHandlerConfig::PLAYBACK_MUTE);
$width="auto";
if ($image->width>1) {
$width = "auto";
if ($image->width > 1) {
$width = $image->width."px";
}
$height="auto";
if ($image->height>1) {
$height = "auto";
if ($image->height > 1) {
$height = $image->height."px";
}

View file

@ -10,7 +10,7 @@ class HelpPagesInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Help Pages";
public array $authors = ["Matthew Barbour"=>"matthew@darkholme.net"];
public array $authors = ["Matthew Barbour" => "matthew@darkholme.net"];
public string $license = self::LICENSE_WTFPL;
public string $description = "Provides documentation screens";
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;

View file

@ -65,7 +65,7 @@ class HelpPages extends Extension
$hpbe = send_event(new HelpPageBuildingEvent($name));
asort($hpbe->blocks);
foreach ($hpbe->blocks as $key=>$value) {
foreach ($hpbe->blocks as $key => $value) {
foreach ($value as $block) {
$page->add_block($block);
}
@ -87,9 +87,9 @@ class HelpPages extends Extension
public function onPageSubNavBuilding(PageSubNavBuildingEvent $event)
{
if ($event->parent=="help") {
if ($event->parent == "help") {
$pages = send_event(new HelpPageListBuildingEvent())->pages;
foreach ($pages as $key=>$value) {
foreach ($pages as $key => $value) {
$event->add_nav_link("help_".$key, new Link('help/'.$key), $value);
}
}
@ -102,7 +102,7 @@ class HelpPages extends Extension
public function onHelpPageBuilding(HelpPageBuildingEvent $event)
{
if ($event->key=="licenses") {
if ($event->key == "licenses") {
$block = new Block("Software Licenses");
$block->body = "The code in Shimmie is contributed by numerous authors under multiple licenses. For reference, these licenses are listed below. The base software is in general licensed under the GPLv2 license.";
$event->add_block($block);

View file

@ -14,7 +14,7 @@ class HelpPagesTheme extends Themelet
$page->set_heading("Help Pages");
$nav_block = new Block("Help", "", "left", 0);
foreach ($pages as $link=>$desc) {
foreach ($pages as $link => $desc) {
$link = make_link("help/{$link}");
$nav_block->body .= "<a href='{$link}'>".html_escape($desc)."</a><br/>";
}

View file

@ -11,7 +11,7 @@ class HolidayInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Holiday Theme";
public string $url = "http://www.codeanimu.net";
public array $authors = ["DakuTree"=>"thedakutree@codeanimu.net"];
public array $authors = ["DakuTree" => "thedakutree@codeanimu.net"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Use an additional stylesheet on certain holidays";
}

View file

@ -10,7 +10,7 @@ class HomeInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Home Page";
public array $authors =["Bzchan"=>"bzchan@animemahou.com"];
public array $authors = ["Bzchan" => "bzchan@animemahou.com"];
public string $license = self::LICENSE_GPLV2;
public ExtensionVisibility $visibility = ExtensionVisibility::ADMIN;
public string $description = "Displays a front page with logo, search box and post count";

View file

@ -61,7 +61,7 @@ class Home extends Extension
if ($counter_dir != 'text-only') {
$strtotal = "$total";
$length = strlen($strtotal);
for ($n=0; $n<$length; $n++) {
for ($n = 0; $n < $length; $n++) {
$cur = $strtotal[$n];
$counter_text .= "<img alt='$cur' src='$base_href/ext/home/counters/$counter_dir/$cur.gif' />";
}

View file

@ -15,7 +15,7 @@ abstract class ImageConfig
public const THUMB_QUALITY = 'thumb_quality';
public const THUMB_MIME = 'thumb_mime';
public const THUMB_FIT = 'thumb_fit';
public const THUMB_ALPHA_COLOR ='thumb_alpha_color';
public const THUMB_ALPHA_COLOR = 'thumb_alpha_color';
public const SHOW_META = 'image_show_meta';
public const ILINK = 'image_ilink';

View file

@ -11,7 +11,7 @@ class ImageIOInfo extends ExtensionInfo
public string $key = self::KEY;
public string $name = "Post Manager";
public string $url = self::SHIMMIE_URL;
public array $authors = [self::SHISH_NAME=> self::SHISH_EMAIL, "jgen"=>"jgen.tech@gmail.com"];
public array $authors = [self::SHISH_NAME => self::SHISH_EMAIL, "jgen" => "jgen.tech@gmail.com"];
public string $license = self::LICENSE_GPLV2;
public string $description = "Handle the image database";
public ExtensionVisibility $visibility = ExtensionVisibility::HIDDEN;

View file

@ -15,13 +15,13 @@ class ImageIO extends Extension
protected Themelet $theme;
public const COLLISION_OPTIONS = [
'Error'=>ImageConfig::COLLISION_ERROR,
'Merge'=>ImageConfig::COLLISION_MERGE
'Error' => ImageConfig::COLLISION_ERROR,
'Merge' => ImageConfig::COLLISION_MERGE
];
public const ON_DELETE_OPTIONS = [
'Return to post list'=>ImageConfig::ON_DELETE_LIST,
'Go to next post'=>ImageConfig::ON_DELETE_NEXT
'Return to post list' => ImageConfig::ON_DELETE_LIST,
'Go to next post' => ImageConfig::ON_DELETE_NEXT
];
public const EXIF_READ_FUNCTION = "exif_read_data";
@ -55,7 +55,7 @@ class ImageIO extends Extension
$config->set_default_string(ImageConfig::TLINK, '');
$config->set_default_string(ImageConfig::TIP, '$tags // $size // $filesize');
$config->set_default_string(ImageConfig::UPLOAD_COLLISION_HANDLER, ImageConfig::COLLISION_ERROR);
$config->set_default_int(ImageConfig::EXPIRES, (60*60*24*31)); // defaults to one month
$config->set_default_int(ImageConfig::EXPIRES, (60 * 60 * 24 * 31)); // defaults to one month
}
public function onDatabaseUpgrade(DatabaseUpgradeEvent $event)
@ -87,7 +87,7 @@ class ImageIO extends Extension
if ($image) {
send_event(new ImageDeletionEvent($image));
if ($config->get_string(ImageConfig::ON_DELETE)===ImageConfig::ON_DELETE_NEXT) {
if ($config->get_string(ImageConfig::ON_DELETE) === ImageConfig::ON_DELETE_NEXT) {
redirect_to_next_image($image);
} else {
$page->set_mode(PageMode::REDIRECT);
@ -227,7 +227,7 @@ class ImageIO extends Extension
}
$duplicate = Image::by_hash($image->hash);
if (!is_null($duplicate) && $duplicate->id!=$id) {
if (!is_null($duplicate) && $duplicate->id != $id) {
$error = "Post <a href='" . make_link("post/view/{$duplicate->id}") . "'>{$duplicate->id}</a> " .
"already has hash {$image->hash}:<p>" . $this->theme->build_thumb_html($duplicate);
throw new ImageReplaceException($error);
@ -306,7 +306,7 @@ class ImageIO extends Extension
$sb->add_int_option(ImageConfig::THUMB_QUALITY, "Quality", true);
$sb->add_int_option(ImageConfig::THUMB_SCALING, "High-DPI Scale %", true);
if ($config->get_string(ImageConfig::THUMB_MIME)===MimeType::JPEG) {
if ($config->get_string(ImageConfig::THUMB_MIME) === MimeType::JPEG) {
$sb->add_color_option(ImageConfig::THUMB_ALPHA_COLOR, "Alpha Conversion Color", true);
}

Some files were not shown because too many files have changed in this diff Show more