public static function prepareData($item, $mysqli) { include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; // determine data according the item request if (empty($item)) { // if no item selected = show list of all articles $data["entries"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT a.id AS aid, a.cat, a.posted, a.name AS article_name, a.dscr, g.id AS gid, g.name AS gallery_name, u.u_displayed_name AS author_name FROM elrh_articles a LEFT JOIN elrh_gallery_galleries g ON a.gallery=g.id JOIN elrh_users u ON a.author=u.u_name ORDER BY a.posted DESC"); // notify content renderer, there will be only list of articles $data["single"] = false; } else { // still have to determine between article-id and admin operations if (is_numeric($item)) { // notify content renderer, there will be only one article $data["single"] = true; // try to find particular article $data["entry"] = ELRHDataExtractor::retrieveRow($mysqli, "SELECT a.id AS aid, a.author, a.cat, a.posted, a.name AS article_name, a.dscr, a.content, g.id AS gid, g.name AS gallery_name, (SELECT count(*) FROM elrh_gallery_images i WHERE i.gallery=g.id) AS images, u.u_displayed_name AS author_name FROM elrh_articles a LEFT JOIN elrh_gallery_galleries g ON a.gallery=g.id JOIN elrh_users u ON a.author=u.u_name WHERE a.id='" . mysqli_real_escape_string($mysqli, $item) . "'"); if (!empty($data["entry"])) { // page title adjustment $data["item_title"] = ": " . $data["entry"]["article_name"]; // notify content renderer, that article exists $data["exists"] = true; } else { // notify content renderer, that article not found $data["exists"] = false; } } else { // TODO admin operations } } // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { // get all news include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; $data["news"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT n.date, n.content, u.u_displayed_name AS author FROM elrh_news n JOIN elrh_users u ON n.author=u.u_name ORDER BY date DESC"); // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { // get stored contacts include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; $data["contacts"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT contact, name, link FROM elrh_contacts"); // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { // get relevant interactive map entries include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; $data["interactives"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT name, gallery, coord_x, coord_y, size FROM elrh_map"); // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { // get relevant books include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; // find all categories $data["books_cats"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name FROM elrh_books_cat ORDER BY ord"); // find books for each category if (!empty($data["books_cats"])) { foreach ($data["books_cats"] as $cat) { $data["books"][$cat["name"]] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT name, writer, year, dscr, url, thumb, review, review_ext FROM elrh_books WHERE cat='" . $cat["id"] . "' ORDER BY ord"); } } // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { include_once getcwd() . '/scripts/admin-helpers/elrh_admin_resolver.php'; // login-action // must be before "logged-in only" section if ($item == "login") { // tries to log user in (may success or fail) $data["admin_output"] = ELRHAdminResolver::loginAction($mysqli); } // other options only available for logged-in user if (isset($_SESSION["user"])) { // split request by "/" (there might be some extra data regarding image IDs $request = preg_split('~/~', $item); // determine action by request // excluding "login" action, that already resolved, and "select", that will be resolved later switch ($request[0]) { case "login": case "select_gallery": case "select_image": // just to avoid falling into "invalid_request" branch break; case "logout": // pefrom logout for current user $data["admin_output"] = ELRHAdminResolver::logoutAction(); break; case "edit_gallery": // try to perform DB action (add/edit gallery) $data["admin_output"] = ELRHAdminResolver::editGalleryAction($mysqli); // predend "select gallery" action for loading gallery details later in "SELECT actions" block if (!empty($_POST["gid"])) { $request[0] = "load_gallery"; $_POST["item"] = $_POST["gid"]; } break; case "delete_gallery": // try to perform DB action (delete gallery) $data["admin_output"] = ELRHAdminResolver::deleteGalleryAction($mysqli); break; case "edit_image": // try to perform DB action (add/edit image) $data["admin_output"] = ELRHAdminResolver::editImageAction($mysqli); // predend "select image" action for loading image details later in "SELECT actions" block if (!empty($_POST["iid"])) { $request[0] = "load_image"; $_POST["item"] = $_POST["iid"]; } break; case "delete_image": // try to perform DB action (delete image) $data["admin_output"] = ELRHAdminResolver::deleteImageAction($mysqli); // predend "select gallery" action for loading gallery details later in "SELECT actions" block // (ID is set inside deleteImageAction method) $request[0] = "load_gallery"; break; case "move_image": // try to perform DB action (move image to other gallery) $data["admin_output"] = ELRHAdminResolver::moveImageToGalleryAction($mysqli); // predend "select image" action for loading image details later in "SELECT actions" block if (!empty($_POST["iid"])) { $request[0] = "load_image"; $_POST["item"] = $_POST["iid"]; } break; case "move_forwards": $data["admin_output"] = ELRHAdminResolver::moveImageForwardsAction($mysqli, $request[1]); // predend "select image" action for loading image details later in "SELECT actions" block if (!empty($request[1])) { $request[0] = "load_image"; $_POST["item"] = $request[1]; } break; case "move_backwards": $data["admin_output"] = ELRHAdminResolver::moveImageBackwardsAction($mysqli, $request[1]); // predend "select image" action for loading image details later in "SELECT actions" block if (!empty($request[1])) { $request[0] = "load_image"; $_POST["item"] = $request[1]; } break; default: if (!empty($item)) { // requested action doesn't exist $data["admin_output"] = "admin_invalid_request"; } else { // no action requested // (just some mock data to avoid errors later) $data["null"] = "null"; } } // SELECT actions // default - no item selected $id = 0; // option 1 - ID given in $_GET request // option 2 - ID given in $_POST request if (!empty($request[1]) && is_numeric($request[1])) { $id = $request[1]; } elseif (!empty($_POST["item"])) { $id = $_POST["item"]; } // if there is request - eleaborate it if ($id > 0) { switch ($request[0]) { case "select_gallery": case "load_gallery": $data["current_gallery"] = ELRHAdminResolver::selectGalleryAction($mysqli, $id); // for initial select, action result shall be displayed if ($request[0] == "select_gallery") { $data["admin_output"] = $data["current_gallery"]["result"]; } break; case "select_image": case "load_image": $data["current_image"] = ELRHAdminResolver::selectImageAction($mysqli, $id); // for initial select, action result shall be displayed if ($request[0] == "select_image") { $data["admin_output"] = $data["current_image"]["result"]; } // after loading image, try load details for its gallery if ($data["current_image"]["exists"]) { $data["current_gallery"] = ELRHAdminResolver::selectGalleryAction($mysqli, $data["current_image"]["gallery"]); } break; // select_article and select_link not yet implemented } } // SELECT actions // get necessary data to be displayed throughout administration include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; // get all existing galleries $data["galleries"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT g.id, g.name, (SELECT name FROM elrh_gallery_galleries WHERE id=g.parent) AS parent FROM elrh_gallery_galleries g ORDER BY g.name"); // if there is selected gallery, pick all images from it if (!empty($data["current_gallery"]) && $data["current_gallery"]["exists"]) { $data["images"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name FROM elrh_gallery_images WHERE gallery='" . $data["current_gallery"]["id"] . "' ORDER BY ord"); } else { // notify renderer that gallery selection is empty $data["current_gallery"]["exists"] = false; // some mock data to avoid errors later $data["images"] = "null"; } // notify renderer that image selection is empty, if needed if (empty($data["current_image"])) { $data["current_image"]["exists"] = false; } } else { // not logged in // (just some mock data to avoid errors later) $data["null"] = "null"; } // save prepared data for renderer return $data; }
public static function prepareData($item, $mysqli) { include_once getcwd() . '/scripts/data-helpers/elrh_db_extractor.php'; // determine data according the item request if (empty($item)) { // notify content renderer, there will be index of galleries $data["display"] = "index"; // try to load galleries $data["galleries"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name, dscr, (SELECT count(*) FROM elrh_gallery_images i WHERE i.gallery=g.id) AS images FROM elrh_gallery_galleries g WHERE parent='0' ORDER BY name"); // for each gallery load further info if (!empty($data["galleries"])) { foreach ($data["galleries"] as $gallery) { // first 7 images to feature $data[$gallery["name"]]["images"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name, image FROM elrh_gallery_images WHERE gallery='" . $gallery["id"] . "' ORDER BY ord LIMIT 7"); // related galleries $data[$gallery["name"]]["galleries"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name, (SELECT count(*) FROM elrh_gallery_images i WHERE i.gallery=g.id) AS images FROM elrh_gallery_galleries g WHERE parent='" . $gallery["id"] . "' ORDER BY name"); // related articles $data[$gallery["name"]]["articles"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT a.id, a.name, u.u_displayed_name AS author_name FROM elrh_articles a JOIN elrh_users u ON a.author=u.u_name WHERE gallery='" . $gallery["id"] . "' ORDER BY name"); } } } else { // TODO admin operations // still have to determine whether displaying particular gallery or particular image // split request by "/" $request = preg_split('~/~', $item); if ($request[0] == "g") { // notify content renderer, there will be detail of particular gallery $data["display"] = "gallery"; // try to load gallery details $data["entry"] = ELRHDataExtractor::retrieveRow($mysqli, "SELECT g.id AS gid, g.parent AS pid, g.created, g.name, g.dscr, (SELECT count(*) FROM elrh_gallery_images i WHERE i.gallery=g.id) AS images, u.u_displayed_name AS author_name FROM elrh_gallery_galleries g JOIN elrh_users u ON g.author=u.u_name WHERE g.id='" . mysqli_real_escape_string($mysqli, $request[1]) . "'"); if (!empty($data["entry"])) { // images to display $data["images"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name, image FROM elrh_gallery_images WHERE gallery='" . $data["entry"]["gid"] . "' ORDER BY ord"); // possible parent gallery $data["parent"] = ELRHDataExtractor::retrieveRow($mysqli, "SELECT id, name FROM elrh_gallery_galleries WHERE id='" . $data["entry"]["pid"] . "'"); // related galleries $data["galleries"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT id, name, (SELECT count(*) FROM elrh_gallery_images i WHERE i.gallery=g.id) AS images FROM elrh_gallery_galleries g WHERE parent='" . $data["entry"]["gid"] . "' ORDER BY name"); // related articles $data["articles"] = ELRHDataExtractor::retrieveArray($mysqli, "SELECT a.id, a.name, u.u_displayed_name AS author_name FROM elrh_articles a JOIN elrh_users u ON a.author=u.u_name WHERE gallery='" . $data["entry"]["gid"] . "' ORDER BY name"); // page title adjustment $data["item_title"] = ": " . $data["entry"]["name"]; // notify content renderer, that gallery exists $data["exists"] = true; } else { // notify content renderer, that gallery not found $data["exists"] = false; } } else { if ($request[0] == "i") { // notify content renderer, there will be detail of particular gallery $data["display"] = "image"; // try to load image details $data["entry"] = ELRHDataExtractor::retrieveRow($mysqli, "SELECT i.id AS iid, i.gallery AS gid, i.created, i.name, i.dscr, i.image, i.prev, i.next, u.u_displayed_name AS author_name FROM elrh_gallery_images i JOIN elrh_users u ON i.author=u.u_name WHERE i.id='" . mysqli_real_escape_string($mysqli, $request[1]) . "'"); if (!empty($data["entry"])) { // parent gallery info $data["parent"] = ELRHDataExtractor::retrieveRow($mysqli, "SELECT id, name FROM elrh_gallery_galleries WHERE id='" . $data["entry"]["gid"] . "'"); // page title adjustment $data["item_title"] = ": " . $data["entry"]["name"]; // notify content renderer, that gallery exists $data["exists"] = true; } else { // notify content renderer, that gallery not found $data["exists"] = false; } } else { // notify content renderer, there is an error $data["display"] = "error"; } } } // save prepared data for renderer return $data; }