Fixed issue with rating module.
This commit is contained in:
parent
76c6031b04
commit
ca21d6e3f9
@ -53,6 +53,7 @@ class Pools extends SimpleExtension {
|
|||||||
INDEX (id)
|
INDEX (id)
|
||||||
");
|
");
|
||||||
|
|
||||||
|
// Set the defaults for the pools extension
|
||||||
$config->set_int("ext_pools_version", 1);
|
$config->set_int("ext_pools_version", 1);
|
||||||
|
|
||||||
$config->set_int("poolsMaxImportResults", 1000);
|
$config->set_int("poolsMaxImportResults", 1000);
|
||||||
@ -66,6 +67,7 @@ class Pools extends SimpleExtension {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Add a block to the Board Config / Setup
|
||||||
public function onSetupBuilding(SetupBuildingEvent $event) {
|
public function onSetupBuilding(SetupBuildingEvent $event) {
|
||||||
$sb = new SetupBlock("Pools");
|
$sb = new SetupBlock("Pools");
|
||||||
$sb->add_int_option("poolsMaxImportResults", "Max results on import: ");
|
$sb->add_int_option("poolsMaxImportResults", "Max results on import: ");
|
||||||
@ -224,8 +226,9 @@ class Pools extends SimpleExtension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* HERE WE GET THE POOLS WHERE THE IMAGE APPEARS WHEN THE IMAGE IS DISPLAYED
|
* When displaying an image, optionally list all the pools that the
|
||||||
|
* image is currently a member of on a side panel.
|
||||||
*/
|
*/
|
||||||
public function onDisplayingImage($event) {
|
public function onDisplayingImage($event) {
|
||||||
global $config, $database, $page;
|
global $config, $database, $page;
|
||||||
@ -329,25 +332,38 @@ class Pools extends SimpleExtension {
|
|||||||
VALUES (:uid, :public, :title, :desc, now())",
|
VALUES (:uid, :public, :title, :desc, now())",
|
||||||
array("uid"=>$user->id, "public"=>$public, "title"=>$_POST["title"], "desc"=>$_POST["description"]));
|
array("uid"=>$user->id, "public"=>$public, "title"=>$_POST["title"], "desc"=>$_POST["description"]));
|
||||||
|
|
||||||
$result = $database->get_row("SELECT LAST_INSERT_ID() AS poolID"); # FIXME database specific?
|
//$result = $database->get_row("SELECT LAST_INSERT_ID() AS poolID"); # FIXME database specific?
|
||||||
|
$result['poolID'] = $database->get_last_insert_id();
|
||||||
|
|
||||||
log_info("pools", "Pool {$result["poolID"]} created by {$user->name}");
|
log_info("pools", "Pool {$result["poolID"]} created by {$user->name}");
|
||||||
|
|
||||||
return $result["poolID"];
|
return $result["poolID"];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve information about pools given mulitiple pool IDs.
|
||||||
|
* @param $poolID Array of integers
|
||||||
|
* @retval 2D Array
|
||||||
|
*/
|
||||||
private function get_pool($poolID) {
|
private function get_pool($poolID) {
|
||||||
global $database;
|
global $database;
|
||||||
return $database->get_all("SELECT * FROM pools WHERE id=:id", array("id"=>$poolID));
|
return $database->get_all("SELECT * FROM pools WHERE id=:id", array("id"=>$poolID));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve information about a pool given a pool ID.
|
||||||
|
* @param $poolID Integer
|
||||||
|
* @retval 2D array (with only 1 element in the one dimension)
|
||||||
|
*/
|
||||||
private function get_single_pool($poolID) {
|
private function get_single_pool($poolID) {
|
||||||
global $database;
|
global $database;
|
||||||
return $database->get_row("SELECT * FROM pools WHERE id=:id", array("id"=>$poolID));
|
return $database->get_row("SELECT * FROM pools WHERE id=:id", array("id"=>$poolID));
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* HERE WE GET THE ID OF THE POOL FROM AN IMAGE
|
* Get all of the pool IDs that an image is in, given an image ID.
|
||||||
|
* @param $imageID Integer
|
||||||
|
* @retval 2D array
|
||||||
*/
|
*/
|
||||||
private function get_pool_id($imageID) {
|
private function get_pool_id($imageID) {
|
||||||
global $database;
|
global $database;
|
||||||
@ -455,8 +471,8 @@ class Pools extends SimpleExtension {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* HERE WE GET ALL IMAGES FOR THE POOL
|
* Retrieve all the images in a pool, given a pool ID.
|
||||||
*/
|
*/
|
||||||
private function get_posts($event, $poolID) {
|
private function get_posts($event, $poolID) {
|
||||||
global $config, $user, $database;
|
global $config, $user, $database;
|
||||||
@ -470,6 +486,7 @@ class Pools extends SimpleExtension {
|
|||||||
$pageNumber--;
|
$pageNumber--;
|
||||||
|
|
||||||
$poolID = int_escape($poolID);
|
$poolID = int_escape($poolID);
|
||||||
|
$pool = $this->get_pool($poolID);
|
||||||
|
|
||||||
$imagesPerPage = $config->get_int("poolsImagesPerPage");
|
$imagesPerPage = $config->get_int("poolsImagesPerPage");
|
||||||
|
|
||||||
@ -477,6 +494,8 @@ class Pools extends SimpleExtension {
|
|||||||
// WORKS TO SHOW/HIDE SAFE, QUESTIONABLE, EXPLICIT AND UNRATED IMAGES FROM USER
|
// WORKS TO SHOW/HIDE SAFE, QUESTIONABLE, EXPLICIT AND UNRATED IMAGES FROM USER
|
||||||
if(class_exists("Ratings")) {
|
if(class_exists("Ratings")) {
|
||||||
$rating = Ratings::privs_to_sql(Ratings::get_user_privs($user));
|
$rating = Ratings::privs_to_sql(Ratings::get_user_privs($user));
|
||||||
|
}
|
||||||
|
if (isset($rating) && !is_null($rating)) {
|
||||||
|
|
||||||
$result = $database->get_all("
|
$result = $database->get_all("
|
||||||
SELECT p.image_id
|
SELECT p.image_id
|
||||||
@ -493,8 +512,8 @@ class Pools extends SimpleExtension {
|
|||||||
INNER JOIN images AS i ON i.id = p.image_id
|
INNER JOIN images AS i ON i.id = p.image_id
|
||||||
WHERE pool_id=:pid AND i.rating IN ($rating)",
|
WHERE pool_id=:pid AND i.rating IN ($rating)",
|
||||||
array("pid"=>$poolID)) / $imagesPerPage);
|
array("pid"=>$poolID)) / $imagesPerPage);
|
||||||
}
|
} else {
|
||||||
else {
|
|
||||||
$result = $database->get_all("
|
$result = $database->get_all("
|
||||||
SELECT image_id
|
SELECT image_id
|
||||||
FROM pool_images
|
FROM pool_images
|
||||||
@ -502,6 +521,7 @@ class Pools extends SimpleExtension {
|
|||||||
ORDER BY image_order ASC
|
ORDER BY image_order ASC
|
||||||
LIMIT :l OFFSET :o",
|
LIMIT :l OFFSET :o",
|
||||||
array("pid"=>$poolID, "l"=>$imagesPerPage, "o"=>$pageNumber * $imagesPerPage));
|
array("pid"=>$poolID, "l"=>$imagesPerPage, "o"=>$pageNumber * $imagesPerPage));
|
||||||
|
|
||||||
$totalPages = ceil($database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=:pid", array("pid"=>$poolID)) / $imagesPerPage);
|
$totalPages = ceil($database->get_one("SELECT COUNT(*) FROM pool_images WHERE pool_id=:pid", array("pid"=>$poolID)) / $imagesPerPage);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -510,7 +530,6 @@ class Pools extends SimpleExtension {
|
|||||||
$images[] = Image::by_id($singleResult["image_id"]);
|
$images[] = Image::by_id($singleResult["image_id"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
$pool = $this->get_pool($poolID);
|
|
||||||
$this->theme->view_pool($pool, $images, $pageNumber + 1, $totalPages);
|
$this->theme->view_pool($pool, $images, $pageNumber + 1, $totalPages);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user