a bunch of fixes
This commit is contained in:
parent
bda38bff6c
commit
d98962a30e
@ -82,11 +82,11 @@ class EventLog implements Extension {
|
||||
$this->add_to_log($user, 'Image Deletion', "Deleted image {$event->image->id} (tags: {$event->image->get_tag_list()})");
|
||||
}
|
||||
if($event instanceof SourceSetEvent) {
|
||||
$this->add_to_log($user, 'Source Set', "Source for image #{$event->image_id} set to '{$event->source}'");
|
||||
$this->add_to_log($user, 'Source Set', "Source for image #{$event->image->id} set to '{$event->source}'");
|
||||
}
|
||||
if($event instanceof TagSetEvent) {
|
||||
$tags = implode($event->tags, ", ");
|
||||
$this->add_to_log($user, 'Tags Set', "Tags for image #{$event->image_id} set to '$tags'");
|
||||
$this->add_to_log($user, 'Tags Set', "Tags for image #{$event->image->id} set to '$tags'");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -53,15 +53,6 @@ class NumericScore implements Extension {
|
||||
}
|
||||
}
|
||||
|
||||
if($event instanceof ImageInfoSetEvent) {
|
||||
global $user;
|
||||
$char = $_POST['numeric_score'];
|
||||
$score = 0;
|
||||
if($char == "u") $score = 1;
|
||||
else if($char == "d") $score = -1;
|
||||
if($score != 0) send_event(new NumericScoreSetEvent($event->image_id, $user, $score));
|
||||
}
|
||||
|
||||
if($event instanceof NumericScoreSetEvent) {
|
||||
$this->add_vote($event->image_id, $event->user->id, $event->score);
|
||||
}
|
||||
|
@ -47,7 +47,7 @@ class Ratings implements Extension {
|
||||
if($event instanceof ImageInfoSetEvent) {
|
||||
global $user;
|
||||
if($user->is_admin()) {
|
||||
send_event(new RatingSetEvent($event->image_id, $user, $_POST['rating']));
|
||||
send_event(new RatingSetEvent($event->image->id, $user, $_POST['rating']));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -85,10 +85,8 @@ class ReportImage implements Extension {
|
||||
}
|
||||
|
||||
if($event instanceof DisplayingImageEvent) {
|
||||
global $user;
|
||||
global $config;
|
||||
if($config->get_bool('report_image_anon') || !$user->is_anonymous()) {
|
||||
$this->theme->display_image_banner($event->page, $event->image->id);
|
||||
if($event->context->config->get_bool('report_image_anon') || !$event->context->user->is_anonymous()) {
|
||||
$this->theme->display_image_banner($event->page, $event->image);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -74,7 +74,7 @@ class ReportImageTheme extends Themelet {
|
||||
public function display_image_banner(Page $page, Image $image) {
|
||||
global $config;
|
||||
|
||||
$i_image = int_escape($image);
|
||||
$i_image = int_escape($image->id);
|
||||
$html = "
|
||||
<form action='".make_link("image_report/add")."' method='POST'>
|
||||
<input type='hidden' name='image_id' value='$i_image'>
|
||||
|
@ -57,7 +57,7 @@ class Tag_History implements Extension {
|
||||
$event->panel->add_block($sb);
|
||||
}
|
||||
if(($event instanceof TagSetEvent)) {
|
||||
$this->add_tag_history($event->image_id, $event->tags);
|
||||
$this->add_tag_history($event->image->id, $event->tags);
|
||||
}
|
||||
}
|
||||
|
||||
@ -76,7 +76,7 @@ class Tag_History implements Extension {
|
||||
date_set DATETIME NOT NULL,
|
||||
INDEX(image_id),
|
||||
FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (user_id) REFERENCES images(id) ON DELETE CASCADE
|
||||
FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
");
|
||||
$config->set_int("ext_tag_history_version", 3);
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ class TextScore implements Extension {
|
||||
$i_score = int_escape($_POST['text_score__score']);
|
||||
|
||||
if($i_score >= -2 || $i_score <= 2) {
|
||||
send_event(new TextScoreSetEvent($event->image_id, $user, $i_score));
|
||||
send_event(new TextScoreSetEvent($event->image->id, $user, $i_score));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -173,7 +173,7 @@ class Image {
|
||||
return $this->parse_link_template(make_link('_images/$hash/$id - $tags.$ext'));
|
||||
}
|
||||
else {
|
||||
return $this->parse_link_template('image/$id.$ext');
|
||||
return $this->parse_link_template(make_link('image/$id.$ext'));
|
||||
}
|
||||
}
|
||||
|
||||
@ -190,7 +190,7 @@ class Image {
|
||||
return $this->parse_link_template(make_link('_thumbs/$hash/thumb.jpg'));
|
||||
}
|
||||
else {
|
||||
return $this->parse_link_template('image/$id.jpg');
|
||||
return $this->parse_link_template(make_link('image/$id.jpg'));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -193,6 +193,7 @@ class TagList implements Extension {
|
||||
$h_tag = html_escape($row['tag']);
|
||||
$link = $this->tag_link($row['tag']);
|
||||
$image = Image::by_random($config, $database, array($row['tag']));
|
||||
if(is_null($image)) continue; // one of the popular tags has no images
|
||||
$thumb = $image->get_thumb_link();
|
||||
$html .= "<td><a href='$link'><img src='$thumb'><br>$h_tag</a></td>\n";
|
||||
if($n%3==2) $html .= "</tr>";
|
||||
|
@ -33,7 +33,7 @@ class UserPageTheme extends Themelet {
|
||||
|
||||
$html .= "
|
||||
<form action='".make_link("user_admin/create")."' method='POST'>
|
||||
<table style='width: 300px;' border='1'>
|
||||
<table style='width: 300px;'>
|
||||
<tr><td>Name</td><td><input type='text' name='name'></td></tr>
|
||||
<tr><td>Password</td><td><input type='password' name='pass1'></td></tr>
|
||||
<tr><td>Repeat Password</td><td><input type='password' name='pass2'></td></tr>
|
||||
@ -61,7 +61,7 @@ class UserPageTheme extends Themelet {
|
||||
global $config;
|
||||
$html = "
|
||||
<form action='".make_link("user_admin/login")."' method='POST'>
|
||||
<table border='1' summary='Login Form'>
|
||||
<table summary='Login Form'>
|
||||
<tr><td width='70'>Name</td><td width='70'><input type='text' name='user'></td></tr>
|
||||
<tr><td>Password</td><td><input type='password' name='pass'></td></tr>
|
||||
<tr><td colspan='2'><input type='submit' name='gobu' value='Log In'></td></tr>
|
||||
@ -148,8 +148,8 @@ class UserPageTheme extends Themelet {
|
||||
<form action='".make_link("user_admin/change_pass")."' method='POST'>
|
||||
<input type='hidden' name='name' value='{$duser->name}'>
|
||||
<input type='hidden' name='id' value='{$duser->id}'>
|
||||
<table style='width: 300px;' border='1'>
|
||||
<tr><td colspan='2'>Change Password</td></tr>
|
||||
<table style='width: 300px;'>
|
||||
<tr><th colspan='2'>Change Password</th></tr>
|
||||
<tr><td>Password</td><td><input type='password' name='pass1'></td></tr>
|
||||
<tr><td>Repeat Password</td><td><input type='password' name='pass2'></td></tr>
|
||||
<tr><td colspan='2'><input type='Submit' value='Change Password'></td></tr>
|
||||
|
@ -9,11 +9,12 @@
|
||||
* which only appears when an image actually exists.
|
||||
*/
|
||||
class DisplayingImageEvent extends Event {
|
||||
var $image, $page;
|
||||
var $image, $page, $context;
|
||||
|
||||
public function DisplayingImageEvent($image, $page) {
|
||||
public function __construct(RequestContext $context, Image $image) {
|
||||
parent::__construct($context);
|
||||
$this->image = $image;
|
||||
$this->page = $page;
|
||||
$this->page = $context->page;
|
||||
}
|
||||
|
||||
public function get_image() {
|
||||
@ -74,7 +75,7 @@ class ViewImage implements Extension {
|
||||
$image = Image::by_id($config, $database, $image_id);
|
||||
|
||||
if(!is_null($image)) {
|
||||
send_event(new DisplayingImageEvent($image, $event->page));
|
||||
send_event(new DisplayingImageEvent($event->context, $image));
|
||||
$iabbe = new ImageAdminBlockBuildingEvent($image, $event->user);
|
||||
send_event($iabbe);
|
||||
ksort($iabbe->parts);
|
||||
|
17
install.php
17
install.php
@ -154,7 +154,7 @@ function create_tables($dsn) { // {{{
|
||||
$db->execute($engine->create_table_sql("aliases", "
|
||||
oldtag VARCHAR(128) NOT NULL PRIMARY KEY,
|
||||
newtag VARCHAR(128) NOT NULL,
|
||||
UNIQUE(oldtag, newtag)
|
||||
INDEX(newtag)
|
||||
"));
|
||||
$db->execute($engine->create_table_sql("config", "
|
||||
name VARCHAR(128) NOT NULL PRIMARY KEY,
|
||||
@ -162,12 +162,11 @@ function create_tables($dsn) { // {{{
|
||||
"));
|
||||
$db->execute($engine->create_table_sql("users", "
|
||||
id SCORE_AIPK,
|
||||
name VARCHAR(32) NOT NULL,
|
||||
name VARCHAR(32) UNIQUE NOT NULL,
|
||||
pass CHAR(32),
|
||||
joindate DATETIME NOT NULL DEFAULT SCORE_NOW,
|
||||
admin SCORE_BOOL NOT NULL DEFAULT SCORE_BOOL_N,
|
||||
email VARCHAR(128),
|
||||
INDEX(name)
|
||||
email VARCHAR(128)
|
||||
"));
|
||||
$db->execute($engine->create_table_sql("images", "
|
||||
id SCORE_AIPK,
|
||||
@ -175,30 +174,28 @@ function create_tables($dsn) { // {{{
|
||||
owner_ip SCORE_INET NOT NULL,
|
||||
filename VARCHAR(64) NOT NULL,
|
||||
filesize INTEGER NOT NULL,
|
||||
hash CHAR(32) NOT NULL,
|
||||
hash CHAR(32) UNIQUE NOT NULL,
|
||||
ext CHAR(4) NOT NULL,
|
||||
source VARCHAR(255),
|
||||
width INTEGER NOT NULL,
|
||||
height INTEGER NOT NULL,
|
||||
posted TIMESTAMP NOT NULL DEFAULT SCORE_NOW,
|
||||
INDEX(owner_id),
|
||||
INDEX(hash),
|
||||
INDEX(width),
|
||||
INDEX(height),
|
||||
FOREIGN KEY (owner_id) REFERENCES users(id) ON DELETE CASCADE
|
||||
"));
|
||||
$db->execute($engine->create_table_sql("tags", "
|
||||
id SCORE_AIPK,
|
||||
tag VARCHAR(64) NOT NULL,
|
||||
count INTEGER NOT NULL DEFAULT 0,
|
||||
UNIQUE(tag)
|
||||
tag VARCHAR(64) UNIQUE NOT NULL,
|
||||
count INTEGER NOT NULL DEFAULT 0
|
||||
"));
|
||||
$db->execute($engine->create_table_sql("image_tags", "
|
||||
image_id INTEGER NOT NULL,
|
||||
tag_id INTEGER NOT NULL,
|
||||
INDEX(image_id),
|
||||
INDEX(tag_id),
|
||||
INDEX(image_id, tag_id),
|
||||
UNIQUE(image_id, tag_id),
|
||||
FOREIGN KEY (image_id) REFERENCES images(id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (tag_id) REFERENCES tags(id) ON DELETE CASCADE
|
||||
"));
|
||||
|
Loading…
x
Reference in New Issue
Block a user