diff --git a/contrib/pools/main.php b/contrib/pools/main.php
index 1719fcaa..55fba97a 100644
--- a/contrib/pools/main.php
+++ b/contrib/pools/main.php
@@ -8,49 +8,48 @@
*/
class Pools extends SimpleExtension {
-
public function onInitExt($event) {
- global $config, $database;
-
- if ($config->get_int("ext_pools_version") < 1){
+ global $config, $database;
+
+ if ($config->get_int("ext_pools_version") < 1){
$database->create_table("pools", "
- id SCORE_AIPK,
- user_id INTEGER NOT NULL,
- public SCORE_BOOL NOT NULL DEFAULT SCORE_BOOL_N,
- title VARCHAR(255) NOT NULL,
- description TEXT,
- date DATETIME NOT NULL,
- posts INTEGER NOT NULL DEFAULT 0,
- INDEX (id)
- ");
+ id SCORE_AIPK,
+ user_id INTEGER NOT NULL,
+ public SCORE_BOOL NOT NULL DEFAULT SCORE_BOOL_N,
+ title VARCHAR(255) NOT NULL,
+ description TEXT,
+ date DATETIME NOT NULL,
+ posts INTEGER NOT NULL DEFAULT 0,
+ INDEX (id)
+ ");
$database->create_table("pool_images", "
- pool_id INTEGER NOT NULL,
- image_id INTEGER NOT NULL,
- image_order INTEGER NOT NULL DEFAULT 0
- ");
+ pool_id INTEGER NOT NULL,
+ image_id INTEGER NOT NULL,
+ image_order INTEGER NOT NULL DEFAULT 0
+ ");
$database->create_table("pool_history", "
- id SCORE_AIPK,
- pool_id INTEGER NOT NULL,
- user_id INTEGER NOT NULL,
- action INTEGER NOT NULL,
- images TEXT,
- count INTEGER NOT NULL DEFAULT 0,
- date DATETIME NOT NULL,
- INDEX (id)
- ");
-
+ id SCORE_AIPK,
+ pool_id INTEGER NOT NULL,
+ user_id INTEGER NOT NULL,
+ action INTEGER NOT NULL,
+ images TEXT,
+ count INTEGER NOT NULL DEFAULT 0,
+ date DATETIME NOT NULL,
+ INDEX (id)
+ ");
+
$config->set_int("ext_pools_version", 1);
-
- $config->set_int("poolsMaxImportResults", 1000);
- $config->set_int("poolsImagesPerPage", 20);
+
+ $config->set_int("poolsMaxImportResults", 1000);
+ $config->set_int("poolsImagesPerPage", 20);
$config->set_int("poolsListsPerPage", 20);
$config->set_int("poolsUpdatedPerPage", 20);
$config->set_bool("poolsInfoOnViewImage", "N");
-
+
log_info("pools", "extension installed");
}
}
-
+
public function onSetupBuilding(SetupBuildingEvent $event) {
$sb = new SetupBlock("Pools");
$sb->add_int_option("poolsMaxImportResults", "Max results on import: ");
@@ -60,10 +59,10 @@ class Pools extends SimpleExtension {
$sb->add_bool_option("poolsInfoOnViewImage", "
Show pool info on image: ");
$event->panel->add_block($sb);
}
-
+
public function onPageRequest($event) {
global $config, $page, $user;
-
+
if($event->page_matches("pool")) {
switch($event->get_arg(0)) {
case "list": //index
@@ -84,12 +83,12 @@ class Pools extends SimpleExtension {
case "create": // ADD _POST
{
if(!$user->is_anonymous()){
- $newPoolID = $this->add_pool();
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$newPoolID.""));
+ $newPoolID = $this->add_pool();
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/view/".$newPoolID.""));
} else {
- $this->theme->display_error("You must be registered and logged in to add a image.");
- }
+ $this->theme->display_error("You must be registered and logged in to add a image.");
+ }
break;
}
case "view":
@@ -105,29 +104,29 @@ class Pools extends SimpleExtension {
}
case "revert":
{
- if(!$user->is_anonymous()) {
- $historyID = $event->get_arg(1);
-
- $this->revert_history($historyID);
-
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/updated"));
- }
- break;
+ if(!$user->is_anonymous()) {
+ $historyID = $event->get_arg(1);
+
+ $this->revert_history($historyID);
+
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/updated"));
+ }
+ break;
}
case "edit":
{
$poolID = $event->get_arg(1);
$pools = $this->get_pool($poolID);
-
+
foreach($pools as $pool) {
- //if the pool is public and user is logged OR if the user is admin OR the user is the owner
+ //if the pool is public and user is logged OR if the user is admin OR the user is the owner
if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->theme->edit_pool($page, $this->get_pool($poolID), $this->edit_posts($poolID));
- } else {
+ $this->theme->edit_pool($page, $this->get_pool($poolID), $this->edit_posts($poolID));
+ } else {
$page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$poolID.""));
- }
+ $page->set_redirect(make_link("pool/view/".$poolID.""));
+ }
}
break;
}
@@ -135,22 +134,22 @@ class Pools extends SimpleExtension {
{
$poolID = int_escape($_POST["pool_id"]);
$page->set_mode("redirect");
- $page->set_redirect(make_link("pool/edit/".$poolID.""));
+ $page->set_redirect(make_link("pool/edit/".$poolID.""));
break;
}
case "order":
{
$poolID = $event->get_arg(1);
$pools = $this->get_pool($poolID);
-
+
foreach($pools as $pool) {
- //if the pool is public and user is logged OR if the user is admin
- if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->theme->edit_order($page, $this->get_pool($poolID), $this->edit_order($poolID));
- } else {
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$poolID.""));
- }
+ //if the pool is public and user is logged OR if the user is admin
+ if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
+ $this->theme->edit_order($page, $this->get_pool($poolID), $this->edit_order($poolID));
+ } else {
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/view/".$poolID.""));
+ }
}
break;
}
@@ -158,298 +157,298 @@ class Pools extends SimpleExtension {
{
$poolID = int_escape($_POST["pool_id"]);
$page->set_mode("redirect");
- $page->set_redirect(make_link("pool/order/".$poolID.""));
+ $page->set_redirect(make_link("pool/order/".$poolID.""));
break;
}
case "import":
{
- $pool_id = int_escape($_POST["pool_id"]);
- $pool = $this->get_single_pool($pool_id);
+ $pool_id = int_escape($_POST["pool_id"]);
+ $pool = $this->get_single_pool($pool_id);
- if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->import_posts();
- } else {
- $this->theme->display_error("Permssion denied.");
- }
+ if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
+ $this->import_posts();
+ } else {
+ $this->theme->display_error("Permssion denied.");
+ }
break;
}
case "add_posts":
{
- $pool_id = int_escape($_POST["pool_id"]);
- $pool = $this->get_single_pool($pool_id);
+ $pool_id = int_escape($_POST["pool_id"]);
+ $pool = $this->get_single_pool($pool_id);
- if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->add_posts();
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$pool_id));
- } else {
- $this->theme->display_error("Permssion denied.");
- }
- break;
+ if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
+ $this->add_posts();
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/view/".$pool_id));
+ } else {
+ $this->theme->display_error("Permssion denied.");
+ }
+ break;
}
case "order_posts":
{
- $pool_id = int_escape($_POST["pool_id"]);
- $pool = $this->get_single_pool($pool_id);
+ $pool_id = int_escape($_POST["pool_id"]);
+ $pool = $this->get_single_pool($pool_id);
- if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->order_posts();
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$pool_id));
- } else {
- $this->theme->display_error("Permssion denied.");
- }
+ if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
+ $this->order_posts();
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/view/".$pool_id));
+ } else {
+ $this->theme->display_error("Permssion denied.");
+ }
break;
}
case "remove_posts":
{
- $pool_id = int_escape($_POST["pool_id"]);
- $pool = $this->get_single_pool($pool_id);
+ $pool_id = int_escape($_POST["pool_id"]);
+ $pool = $this->get_single_pool($pool_id);
+
+ if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
+ $this->remove_posts();
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/view/".$pool_id ));
+ } else {
+ $this->theme->display_error("Permssion denied.");
+ }
- if(($pool['public'] == "Y" && !$user->is_anonymous()) || $user->is_admin() || $user->id == $pool['user_id']) {
- $this->remove_posts();
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/view/".$pool_id ));
- } else {
- $this->theme->display_error("Permssion denied.");
- }
-
break;
}
case "nuke":
{
$pool_id = $event->get_arg(1);
- $pool = $this->get_single_pool($pool_id);
+ $pool = $this->get_single_pool($pool_id);
- // only admins and owners may do this
- if($user->is_admin() || $user->id == $pool['user_id']) {
- $this->nuke_pool($pool_id);
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/list"));
- } else {
- $this->theme->display_error("Permssion denied.");
- }
+ // only admins and owners may do this
+ if($user->is_admin() || $user->id == $pool['user_id']) {
+ $this->nuke_pool($pool_id);
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/list"));
+ } else {
+ $this->theme->display_error("Permssion denied.");
+ }
break;
}
case "nuke_pool":
{
$poolID = int_escape($_POST["pool_id"]);
$page->set_mode("redirect");
- $page->set_redirect(make_link("pool/nuke/".$poolID));
+ $page->set_redirect(make_link("pool/nuke/".$poolID));
break;
}
default:
- {
- $page->set_mode("redirect");
- $page->set_redirect(make_link("pool/list"));
- break;
- }
- }
- }
- }
-
-
-
+ {
+ $page->set_mode("redirect");
+ $page->set_redirect(make_link("pool/list"));
+ break;
+ }
+ }
+ }
+ }
+
+
+
/*
- * HERE WE GET THE POOLS WHERE THE IMAGE APPEARS WHEN THE IMAGE IS DISPLAYED
- */
+ * HERE WE GET THE POOLS WHERE THE IMAGE APPEARS WHEN THE IMAGE IS DISPLAYED
+ */
public function onDisplayingImage($event) {
global $page;
- $imageID = $event->image->id;
+ $imageID = $event->image->id;
$poolsIDs = $this->get_pool_id($imageID);
$linksPools = "";
- foreach ($poolsIDs as $poolID){
- $pools = $this->get_pool($poolID['pool_id']);
- foreach ($pools as $pool){
- $linksPools .= "".$pool['title'].", ";
- }
+ foreach ($poolsIDs as $poolID){
+ $pools = $this->get_pool($poolID['pool_id']);
+ foreach ($pools as $pool){
+ $linksPools .= "".$pool['title'].", ";
}
+ }
$linksPools = substr($linksPools, 0, -2);
$linksPools = $linksPools." ";
$this->theme->pool_info($linksPools);
}
-
-
-
+
+
+
/*
- * HERE WE GET THE LIST OF POOLS
- */
+ * HERE WE GET THE LIST OF POOLS
+ */
private function list_pools(Page $page, $event){
global $config, $database;
-
- $pageNumber = $event->get_arg(1);
- if(is_null($pageNumber) || !is_numeric($pageNumber))
- $pageNumber = 0;
- else if ($pageNumber <= 0)
- $pageNumber = 0;
- else
- $pageNumber--;
- $poolsPerPage = $config->get_int("poolsListsPerPage");
-
+ $pageNumber = $event->get_arg(1);
+ if(is_null($pageNumber) || !is_numeric($pageNumber))
+ $pageNumber = 0;
+ else if ($pageNumber <= 0)
+ $pageNumber = 0;
+ else
+ $pageNumber--;
+
+ $poolsPerPage = $config->get_int("poolsListsPerPage");
+
$pools = $database->get_all(
- "SELECT p.id, p.user_id, p.public, p.title, p.description, p.posts, u.name as user_name ".
- "FROM pools AS p ".
- "INNER JOIN users AS u ".
- "ON p.user_id = u.id ".
- "ORDER BY p.date DESC ".
- "LIMIT ?, ?"
- , array($pageNumber * $poolsPerPage, $poolsPerPage)
- );
-
+ "SELECT p.id, p.user_id, p.public, p.title, p.description, p.posts, u.name as user_name ".
+ "FROM pools AS p ".
+ "INNER JOIN users AS u ".
+ "ON p.user_id = u.id ".
+ "ORDER BY p.date DESC ".
+ "LIMIT ?, ?"
+ , array($pageNumber * $poolsPerPage, $poolsPerPage)
+ );
+
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pools") / $poolsPerPage);
-
- $this->theme->list_pools($page, $pools, $pageNumber + 1, $totalPages);
+
+ $this->theme->list_pools($page, $pools, $pageNumber + 1, $totalPages);
}
-
-
-
+
+
+
/*
- * HERE WE CREATE A NEW POOL
- */
+ * HERE WE CREATE A NEW POOL
+ */
private function add_pool(){
global $user, $database;
-
+
$public = html_escape($_POST["public"]);
$title = mysql_real_escape_string(html_escape($_POST["title"]));
$description = mysql_real_escape_string(html_escape($_POST["description"]));
-
+
if($public <> "Y"){
$public = "N";
}
-
+
$database->execute("
- INSERT INTO pools
+ INSERT INTO pools
(user_id, public, title, description, date)
- VALUES
+ VALUES
(?, ?, ?, ?, now())",
- array($user->id, $public, $title, $description));
-
+ array($user->id, $public, $title, $description));
+
$result = $database->get_row("SELECT LAST_INSERT_ID() AS poolID", array());
-
+
log_info("pools", "Pool {$result["poolID"]} created by {$user->name}");
-
+
return $result["poolID"];
}
-
+
private function get_pool($poolID){
global $database;
$poolID = int_escape($poolID);
return $database->get_all("SELECT * FROM pools WHERE id=?", array($poolID));
}
-
+
private function get_single_pool($poolID)
- {
+ {
global $database;
$poolID = int_escape($poolID);
return $database->get_row("SELECT * FROM pools WHERE id=?", array($poolID));
- }
-
+ }
+
/*
- * HERE WE GET THE ID OF THE POOL FROM AN IMAGE
- */
+ * HERE WE GET THE ID OF THE POOL FROM AN IMAGE
+ */
private function get_pool_id($imageID){
global $database;
$imageID = int_escape($imageID);
return $database->get_all("SELECT pool_id FROM pool_images WHERE image_id =?", array($imageID));
}
-
-
-
+
+
+
/*
- * HERE WE GET THE IMAGES FROM THE TAG ON IMPORT
- */
+ * HERE WE GET THE IMAGES FROM THE TAG ON IMPORT
+ */
private function import_posts(){
global $page, $config, $database;
-
+
$pool_id = int_escape($_POST["pool_id"]);
$pool_tag = mysql_real_escape_string(html_escape($_POST["pool_tag"]));
-
+
$poolsMaxResults = $config->get_int("poolsMaxImportResults", 1000);
-
+
$images = $images = Image::find_images(0, $poolsMaxResults, Tag::explode($pool_tag));
$this->theme->pool_result($page, $images, $pool_id);
}
-
-
-
+
+
+
/*
- * HERE WE ADD CHECKED IMAGES FROM POOL AND UPDATE THE HISTORY
- */
+ * HERE WE ADD CHECKED IMAGES FROM POOL AND UPDATE THE HISTORY
+ */
private function add_posts(){ //ADD CHECKED POSTS
global $database;
-
+
$poolID = int_escape($_POST['pool_id']);
$images = "";
-
+
foreach ($_POST['check'] as $imageID){
-
+
if(!$this->check_post($poolID, $imageID)){
$database->execute("
- INSERT INTO pool_images
+ INSERT INTO pool_images
(pool_id, image_id)
- VALUES
+ VALUES
(?, ?)",
- array($poolID, $imageID));
-
- $images .= " ".$imageID;
+ array($poolID, $imageID));
+
+ $images .= " ".$imageID;
}
-
+
}
-
+
if(!strlen($images) == 0){
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, 1, $images, $count);
}
-
+
$database->Execute("UPDATE pools SET posts=(SELECT COUNT(*) FROM pool_images WHERE pool_id=?) WHERE id=?", array($poolID, $poolID));
return $poolID;
}
-
+
private function order_posts(){ //ORDER POSTS
global $database;
-
+
$poolID = int_escape($_POST['pool_id']);
-
+
foreach ($_POST['imgs'] as $data) {
- list ($imageORDER, $imageID) = $data;
-
- $imageID = int_escape($imageID);
- $database->Execute("UPDATE pool_images SET image_order = ? WHERE pool_id = ? AND image_id = ?", array($imageORDER, $poolID, $imageID));
+ list ($imageORDER, $imageID) = $data;
+
+ $imageID = int_escape($imageID);
+ $database->Execute("UPDATE pool_images SET image_order = ? WHERE pool_id = ? AND image_id = ?", array($imageORDER, $poolID, $imageID));
}
-
+
return $poolID;
}
-
-
-
+
+
+
/*
- * HERE WE REMOVE CHECKED IMAGES FROM POOL AND UPDATE THE HISTORY
- */
+ * HERE WE REMOVE CHECKED IMAGES FROM POOL AND UPDATE THE HISTORY
+ */
private function remove_posts(){
global $database;
-
+
$poolID = int_escape($_POST['pool_id']);
$images = "";
-
+
foreach ($_POST['check'] as $imageID){
$database->execute("DELETE FROM pool_images WHERE pool_id = ? AND image_id = ?", array($poolID, $imageID));
-
+
$images .= " ".$imageID;
}
-
+
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, 0, $images, $count);
return $poolID;
}
-
-
-
+
+
+
/*
- * HERE WE CHECK IF THE POST IS ALREADY ON POOL
- * USED IN add_posts()
- */
+ * HERE WE CHECK IF THE POST IS ALREADY ON POOL
+ * USED IN add_posts()
+ */
private function check_post($poolID, $imageID){
global $database;
$result = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=? AND image_id=?", array($poolID, $imageID));
@@ -459,41 +458,41 @@ class Pools extends SimpleExtension {
return TRUE;
}
}
-
-
-
+
+
+
/*
- * HERE WE GET ALL IMAGES FOR THE POOL
- */
+ * HERE WE GET ALL IMAGES FOR THE POOL
+ */
private function get_posts($event, $poolID){
global $config, $user, $database;
-
+
$pageNumber = $event->get_arg(2);
- if(is_null($pageNumber) || !is_numeric($pageNumber))
- $pageNumber = 0;
- else if ($pageNumber <= 0)
- $pageNumber = 0;
- else
- $pageNumber--;
-
+ if(is_null($pageNumber) || !is_numeric($pageNumber))
+ $pageNumber = 0;
+ else if ($pageNumber <= 0)
+ $pageNumber = 0;
+ else
+ $pageNumber--;
+
$poolID = int_escape($poolID);
-
+
$imagesPerPage = $config->get_int("poolsImagesPerPage");
-
+
// WE CHECK IF THE EXTENSION RATING IS INSTALLED, WICH VERSION AND IF IT WORKS TO SHOW/HIDE SAFE, QUESTIONABLE, EXPLICIT AND UNRATED IMAGES FROM USER
if($config->get_int("ext_ratings2_version") < 3) {
$result = $database->get_all("SELECT image_id ".
- "FROM pool_images ".
- "WHERE pool_id=? ".
- "ORDER BY image_order ASC ".
- "LIMIT ?, ?"
- , array($poolID, $pageNumber * $imagesPerPage, $imagesPerPage));
+ "FROM pool_images ".
+ "WHERE pool_id=? ".
+ "ORDER BY image_order ASC ".
+ "LIMIT ?, ?"
+ , array($poolID, $pageNumber * $imagesPerPage, $imagesPerPage));
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?",array($poolID)) / $imagesPerPage);
}
-
+
if($config->get_int("ext_ratings2_version") >= 3) {
if($user->is_anonymous()) {
- $sqes = $config->get_string("ext_rating_anon_privs");
+ $sqes = $config->get_string("ext_rating_anon_privs");
}
else if($user->is_admin()) {
$sqes = $config->get_string("ext_rating_admin_privs");
@@ -506,97 +505,97 @@ class Pools extends SimpleExtension {
$arr[] = "'" . $sqes[$i] . "'";
}
$rating = join(', ', $arr);
-
+
$result = $database->get_all("SELECT p.image_id ".
- "FROM pool_images AS p ".
- "INNER JOIN images AS i ".
- "ON i.id = p.image_id ".
- "WHERE p.pool_id = ? ".
- "AND i.rating IN ($rating) ".
- "ORDER BY p.image_order ASC ".
- "LIMIT ?, ?"
- , array($poolID, $pageNumber * $imagesPerPage, $imagesPerPage));
-
+ "FROM pool_images AS p ".
+ "INNER JOIN images AS i ".
+ "ON i.id = p.image_id ".
+ "WHERE p.pool_id = ? ".
+ "AND i.rating IN ($rating) ".
+ "ORDER BY p.image_order ASC ".
+ "LIMIT ?, ?"
+ , array($poolID, $pageNumber * $imagesPerPage, $imagesPerPage));
+
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) ".
- "FROM pool_images AS p ".
- "INNER JOIN images AS i ".
- "ON i.id = p.image_id ".
- "WHERE pool_id=? ".
- "AND i.rating IN ($rating) "
- ,array($poolID)) / $imagesPerPage);
+ "FROM pool_images AS p ".
+ "INNER JOIN images AS i ".
+ "ON i.id = p.image_id ".
+ "WHERE pool_id=? ".
+ "AND i.rating IN ($rating) "
+ ,array($poolID)) / $imagesPerPage);
}
-
+
$images = array();
- foreach ($result as $singleResult) {
- $image = Image::by_id($singleResult["image_id"]);
- $images[] = array($image);
- }
-
+ foreach ($result as $singleResult) {
+ $image = Image::by_id($singleResult["image_id"]);
+ $images[] = array($image);
+ }
+
$pool = $this->get_pool($poolID);
$this->theme->view_pool($pool, $images, $pageNumber + 1, $totalPages);
}
-
-
+
+
/*
- * WE GET THE ORDER OF THE IMAGES
- */
+ * WE GET THE ORDER OF THE IMAGES
+ */
private function edit_posts($poolID){
global $database;
$poolID = int_escape($poolID);
-
+
$result = $database->Execute("SELECT image_id FROM pool_images WHERE pool_id=? ORDER BY image_order ASC", array($poolID));
-
+
$images = array();
while(!$result->EOF) {
$image = Image::by_id($result->fields["image_id"]);
$images[] = array($image);
$result->MoveNext();
}
-
+
return $images;
}
-
-
-
+
+
+
/*
- * WE GET THE ORDER OF THE IMAGES BUT HERE WE SEND KEYS ADDED IN ARRAY TO GET THE ORDER IN THE INPUT VALUE
- */
+ * WE GET THE ORDER OF THE IMAGES BUT HERE WE SEND KEYS ADDED IN ARRAY TO GET THE ORDER IN THE INPUT VALUE
+ */
private function edit_order($poolID){
global $database;
$poolID = int_escape($poolID);
-
+
$result = $database->Execute("SELECT image_id FROM pool_images WHERE pool_id=? ORDER BY image_order ASC", array($poolID));
-
+
$images = array();
while(!$result->EOF) {
$image = $database->get_row("SELECT * FROM images AS i ".
- "INNER JOIN pool_images AS p ".
- "ON i.id = p.image_id ".
- "WHERE pool_id=? AND i.id=?"
- , array($poolID, $result->fields["image_id"]));
+ "INNER JOIN pool_images AS p ".
+ "ON i.id = p.image_id ".
+ "WHERE pool_id=? AND i.id=?"
+ , array($poolID, $result->fields["image_id"]));
$image = ($image ? new Image($image) : null);
$images[] = array($image);
$result->MoveNext();
}
-// Original code
-//
-// $images = array();
-// while(!$result->EOF) {
-// $image = Image::by_id($result->fields["image_id"]);
-// $images[] = array($image);
-// $result->MoveNext();
-// }
+ // Original code
+ //
+ // $images = array();
+ // while(!$result->EOF) {
+ // $image = Image::by_id($result->fields["image_id"]);
+ // $images[] = array($image);
+ // $result->MoveNext();
+ // }
return $images;
}
-
-
-
+
+
+
/*
- * HERE WE NUKE ENTIRE POOL. WE REMOVE POOLS AND POSTS FROM REMOVED POOL AND HISTORIES ENTRIES FROM REMOVED POOL
- */
+ * HERE WE NUKE ENTIRE POOL. WE REMOVE POOLS AND POSTS FROM REMOVED POOL AND HISTORIES ENTRIES FROM REMOVED POOL
+ */
private function nuke_pool($poolID){
global $user, $database;
-
+
if($user->is_admin()){
$database->execute("DELETE FROM pool_history WHERE pool_id = ?", array($poolID));
$database->execute("DELETE FROM pool_images WHERE pool_id = ?", array($poolID));
@@ -608,82 +607,82 @@ class Pools extends SimpleExtension {
$database->execute("DELETE FROM pools WHERE id = ? AND user_id = ?", array($poolID, $user->id));
}
}
-
-
-
+
+
+
/*
- * HERE WE ADD A HISTORY ENTRY
- * FOR $action 1 (one) MEANS ADDED, 0 (zero) MEANS REMOVED
- */
+ * HERE WE ADD A HISTORY ENTRY
+ * FOR $action 1 (one) MEANS ADDED, 0 (zero) MEANS REMOVED
+ */
private function add_history($poolID, $action, $images, $count){
global $user, $database;
$user_id = $user->id;
$database->execute("
- INSERT INTO pool_history
- (pool_id, user_id, action, images, count, date)
- VALUES
- (?, ?, ?, ?, ?, now())",
- array($poolID, $user_id, $action, $images, $count));
-
+ INSERT INTO pool_history
+ (pool_id, user_id, action, images, count, date)
+ VALUES
+ (?, ?, ?, ?, ?, now())",
+ array($poolID, $user_id, $action, $images, $count));
+
}
-
-
-
+
+
+
/*
- * HERE WE GET THE HISTORY LIST
- */
+ * HERE WE GET THE HISTORY LIST
+ */
private function get_history($event){
global $config, $database;
-
+
$pageNumber = $event->get_arg(1);
- if(is_null($pageNumber) || !is_numeric($pageNumber))
- $pageNumber = 0;
- else if ($pageNumber <= 0)
- $pageNumber = 0;
- else
- $pageNumber--;
-
-
+ if(is_null($pageNumber) || !is_numeric($pageNumber))
+ $pageNumber = 0;
+ else if ($pageNumber <= 0)
+ $pageNumber = 0;
+ else
+ $pageNumber--;
+
+
$historiesPerPage = $config->get_int("poolsUpdatedPerPage");
-
+
$history = $database->get_all(
- "SELECT h.id, h.pool_id, h.user_id, h.action, h.images, h.count, h.date, u.name as user_name, p.title as title ".
- "FROM pool_history AS h ".
- "INNER JOIN pools AS p ".
- "ON p.id = h.pool_id ".
- "INNER JOIN users AS u ".
- "ON h.user_id = u.id ".
- "ORDER BY h.date DESC ".
- "LIMIT ?, ?"
- , array($pageNumber * $historiesPerPage, $historiesPerPage));
-
+ "SELECT h.id, h.pool_id, h.user_id, h.action, h.images, h.count, h.date, u.name as user_name, p.title as title ".
+ "FROM pool_history AS h ".
+ "INNER JOIN pools AS p ".
+ "ON p.id = h.pool_id ".
+ "INNER JOIN users AS u ".
+ "ON h.user_id = u.id ".
+ "ORDER BY h.date DESC ".
+ "LIMIT ?, ?"
+ , array($pageNumber * $historiesPerPage, $historiesPerPage));
+
$totalPages = ceil($database->db->GetOne("SELECT COUNT(*) FROM pool_history") / $historiesPerPage);
-
+
$this->theme->show_history($history, $pageNumber + 1, $totalPages);
}
-
-
-
+
+
+
/*
- * HERE GO BACK IN HISTORY AND ADD OR REMOVE POSTS TO POOL
- */
+ * HERE GO BACK IN HISTORY AND ADD OR REMOVE POSTS TO POOL
+ */
private function revert_history($historyID){
global $database;
$status = $database->get_all("SELECT * FROM pool_history WHERE id=?", array($historyID));
-
+
foreach ($status as $entry)
{
$images = trim($entry['images']);
$images = explode(" ", $images);
$poolID = $entry['pool_id'];
$imageArray = "";
-
+
if ($entry['action'] == 0) {
// READD ENTRIES
foreach ($images as $image) {
$imageID = $image;
$this->add_post($poolID, $imageID);
-
+
$imageArray .= " ".$imageID;
$newAction = 1;
}
@@ -692,50 +691,50 @@ class Pools extends SimpleExtension {
foreach ($images as $image) {
$imageID = $image;
$this->delete_post($poolID, $imageID);
-
+
$imageArray .= " ".$imageID;
$newAction = 0;
}
}
-
+
$count = $database->db->GetOne("SELECT COUNT(*) FROM pool_images WHERE pool_id=?", array($poolID));
$this->add_history($poolID, $newAction, $imageArray, $count);
}
}
-
-
-
+
+
+
/*
- * HERE WE ADD A SIMPLE POST FROM POOL
- * USED WITH FOREACH IN revert_history()
- */
+ * HERE WE ADD A SIMPLE POST FROM POOL
+ * USED WITH FOREACH IN revert_history()
+ */
private function add_post($poolID, $imageID){
- global $database;
-
- if(!$this->check_post($poolID, $imageID)){
- $database->execute("
- INSERT INTO pool_images
- (pool_id, image_id)
- VALUES
- (?, ?)",
- array($poolID, $imageID));
+ global $database;
+
+ if(!$this->check_post($poolID, $imageID)){
+ $database->execute("
+ INSERT INTO pool_images
+ (pool_id, image_id)
+ VALUES
+ (?, ?)",
+ array($poolID, $imageID));
+ }
+
+ $database->execute("UPDATE pools SET posts=(SELECT COUNT(*) FROM pool_images WHERE pool_id=?) WHERE id=?", array($poolID, $poolID));
}
-
- $database->execute("UPDATE pools SET posts=(SELECT COUNT(*) FROM pool_images WHERE pool_id=?) WHERE id=?", array($poolID, $poolID));
- }
-
-
-
+
+
+
/*
- * HERE WE REMOVE A SIMPLE POST FROM POOL
- * USED WITH FOREACH IN revert_history()
- */
+ * HERE WE REMOVE A SIMPLE POST FROM POOL
+ * USED WITH FOREACH IN revert_history()
+ */
private function delete_post($poolID, $imageID){
- global $database;
-
- $database->execute("DELETE FROM pool_images WHERE pool_id = ? AND image_id = ?", array($poolID, $imageID));
- $database->execute("UPDATE pools SET posts=(SELECT COUNT(*) FROM pool_images WHERE pool_id=?) WHERE id=?", array($poolID, $poolID));
+ global $database;
+
+ $database->execute("DELETE FROM pool_images WHERE pool_id = ? AND image_id = ?", array($poolID, $imageID));
+ $database->execute("UPDATE pools SET posts=(SELECT COUNT(*) FROM pool_images WHERE pool_id=?) WHERE id=?", array($poolID, $poolID));
}
-
+
}
?>