summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortim almdal <tnalmdal@shaw.ca>2009-05-29 21:53:49 -0700
committertim almdal <tnalmdal@shaw.ca>2009-05-29 21:53:49 -0700
commitf0104ee43bacf1cd532195f802be581d4c428f24 (patch)
treeaafe4e82c33d63bf3594b39b424ad060172171a2
parentce285b8feba2f9c495fb153517c2a582421f50e0 (diff)
remove scaffolding code
-rw-r--r--modules/gallery/controllers/scaffold.php440
-rw-r--r--modules/gallery/helpers/gallery_menu.php9
-rw-r--r--modules/gallery/views/scaffold.html.php169
3 files changed, 0 insertions, 618 deletions
diff --git a/modules/gallery/controllers/scaffold.php b/modules/gallery/controllers/scaffold.php
deleted file mode 100644
index 95a213f9..00000000
--- a/modules/gallery/controllers/scaffold.php
+++ /dev/null
@@ -1,440 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.");
-/**
- * Gallery - a web based photo album viewer and editor
- * Copyright (C) 2000-2009 Bharat Mediratta
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or (at
- * your option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
- */
-class Scaffold_Controller extends Template_Controller {
- public $template = "scaffold.html";
-
- function index() {
- $session = Session::instance();
-
- set_error_handler(array("Scaffold_Controller", "_error_handler"));
- try {
- $this->template->album_count = ORM::factory("item")->where("type", "album")->count_all();
- $this->template->photo_count = ORM::factory("item")->where("type", "photo")->count_all();
- $this->template->album_tree = $this->_load_album_tree();
- $this->template->add_photo_html = $this->_get_add_photo_html();
- } catch (Exception $e) {
- $this->template->album_count = 0;
- $this->template->photo_count = 0;
- $this->template->deepest_photo = null;
- $this->template->album_tree = array();
- $this->template->add_photo_html = "";
- }
-
- $this->_load_comment_info();
- $this->_load_tag_info();
-
- restore_error_handler();
-
- if (!empty($session) && $session->get("profiler", false)) {
- $profiler = new Profiler();
- $profiler->render();
- }
- }
-
-
- function add_photos() {
- $path = trim($this->input->post("path"));
- $parent_id = (int)$this->input->post("parent_id");
- $parent = ORM::factory("item", $parent_id);
- if (!$parent->loaded) {
- throw new Exception("@todo BAD_ALBUM");
- }
-
- batch::start();
- cookie::set("add_photos_path", $path);
- $photo_count = 0;
- foreach (glob("$path/*.[Jj][Pp][Gg]") as $file) {
- set_time_limit(30);
- photo::create($parent, $file, basename($file), basename($file));
- $photo_count++;
- }
- batch::stop();
-
- if ($photo_count > 0) {
- log::success("content", "(scaffold) Added $photo_count photos",
- html::anchor("albums/$parent_id", "View album"));
- }
-
- url::redirect("scaffold");
- }
-
- function add_albums_and_photos($count, $desired_type=null) {
- srand(time());
- $parents = ORM::factory("item")->where("type", "album")->find_all()->as_array();
- $owner_id = user::active()->id;
-
- $test_images = glob(MODPATH . "gallery/tests/images/*.[Jj][Pp][Gg]");
-
- batch::start();
- $album_count = $photo_count = 0;
- for ($i = 0; $i < $count; $i++) {
- set_time_limit(30);
-
- $parent = $parents[array_rand($parents)];
- $parent->reload();
- $type = $desired_type;
- if (!$type) {
- $type = rand(0, 10) ? "photo" : "album";
- }
- if ($type == "album") {
- $thumb_size = module::get_var("gallery", "thumb_size");
- $parents[] = album::create(
- $parent, "rnd_" . rand(), "Rnd $i", "random album $i", $owner_id)
- ->save();
- $album_count++;
- } else {
- $photo_index = rand(0, count($test_images) - 1);
- photo::create($parent, $test_images[$photo_index], basename($test_images[$photo_index]),
- "rnd_" . rand(), "sample thumb", $owner_id);
- $photo_count++;
- }
- }
- batch::stop();
-
- if ($photo_count > 0) {
- log::success("content", "(scaffold) Added $photo_count photos");
- }
-
- if ($album_count > 0) {
- log::success("content", "(scaffold) Added $album_count albums");
- }
- url::redirect("scaffold");
- }
-
- function random_phrase($count) {
- static $words;
- if (empty($words)) {
- $sample_text = "Sed ut perspiciatis, unde omnis iste natus error sit voluptatem accusantium
- laudantium, totam rem aperiam eaque ipsa, quae ab illo inventore veritatis et quasi
- architecto beatae vitae dicta sunt, explicabo. Nemo enim ipsam voluptatem, quia voluptas
- sit, aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos, qui ratione
- voluptatem sequi nesciunt, neque porro quisquam est, qui dolorem ipsum, quia dolor sit,
- amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt, ut
- labore et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima veniam, quis
- nostrum exercitationem ullam corporis suscipit laboriosam, nisi ut aliquid ex ea commodi
- consequatur? Quis autem vel eum iure reprehenderit, qui in ea voluptate velit esse, quam
- nihil molestiae consequatur, vel illum, qui dolorem eum fugiat, quo voluptas nulla
- pariatur? At vero eos et accusamus et iusto odio dignissimos ducimus, qui blanditiis
- praesentium voluptatum deleniti atque corrupti, quos dolores et quas molestias excepturi
- sint, obcaecati cupiditate non provident, similique sunt in culpa, qui officia deserunt
- mollitia animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis est et
- expedita distinctio. Nam libero tempore, cum soluta nobis est eligendi optio, cumque
- nihil impedit, quo minus id, quod maxime placeat, facere possimus, omnis voluptas
- assumenda est, omnis dolor repellendus. Temporibus autem quibusdam et aut officiis
- debitis aut rerum necessitatibus saepe eveniet, ut et voluptates repudiandae sint et
- molestiae non recusandae. Itaque earum rerum hic tenetur a sapiente delectus, ut aut
- reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores
- repellat.";
- $words = preg_split('/\s+/', $sample_text);
- }
-
- $chosen = array();
- for ($i = 0; $i < $count; $i++) {
- $chosen[] = $words[array_rand($words)];
- }
-
- return implode(' ', $chosen);
- }
-
- function add_comments($count) {
- srand(time());
- $photos = ORM::factory("item")->where("type", "photo")->find_all()->as_array();
- $users = ORM::factory("user")->find_all()->as_array();
-
- if (empty($photos)) {
- url::redirect("scaffold");
- }
-
- if (module::is_active("akismet")) {
- akismet::$test_mode = 1;
- }
- for ($i = 0; $i < $count; $i++) {
- $photo = $photos[array_rand($photos)];
- $author = $users[array_rand($users)];
- $guest_name = ucfirst($this->random_phrase(rand(1, 3)));
- $guest_email = sprintf("%s@%s.com", $this->random_phrase(1), $this->random_phrase(1));
- $guest_url = sprintf("http://www.%s.com", $this->random_phrase(1));
- comment::create($photo, $author, $this->random_phrase(rand(8, 500)),
- $guest_name, $guest_email, $guest_url);
- }
-
- url::redirect("scaffold");
- }
-
- function add_tags($count) {
- $items = ORM::factory("item")->find_all()->as_array();
-
- if (!empty($items)) {
- $tags = $this->_generateTags($count);
-
- while ($count-- > 0) {
- $tag_name = $tags[array_rand($tags)];
- $item = $items[array_rand($items)];
-
- tag::add($item, $tag_name);
- }
- }
-
- url::redirect("scaffold");
- }
-
- private function _generateTags($number){
- // Words from lorem2.com
- $words = explode(
- " ",
- "Lorem ipsum dolor sit amet consectetuer adipiscing elit Donec odio Quisque volutpat " .
- "mattis eros Nullam malesuada erat ut turpis Suspendisse urna nibh viverra non " .
- "semper suscipit posuere a pede Donec nec justo eget felis facilisis " .
- "fermentum Aliquam porttitor mauris sit amet orci Aenean dignissim pellentesque " .
- "felis Morbi in sem quis dui placerat ornare Pellentesque odio nisi euismod in " .
- "pharetra a ultricies in diam Sed arcu Cras consequat Praesent dapibus neque " .
- "id cursus faucibus tortor neque egestas augue eu vulputate magna eros eu " .
- "erat Aliquam erat volutpat Nam dui mi tincidunt quis accumsan porttitor " .
- "facilisis luctus metus Phasellus ultrices nulla quis nibh Quisque a " .
- "lectus Donec consectetuer ligula vulputate sem tristique cursus Nam nulla quam " .
- "gravida non commodo a sodales sit amet nisi Pellentesque fermentum " .
- "dolor Aliquam quam lectus facilisis auctor ultrices ut elementum vulputate " .
- "nunc Sed adipiscing ornare risus Morbi est est blandit sit amet sagittis vel " .
- "euismod vel velit Pellentesque egestas sem Suspendisse commodo ullamcorper " .
- "magna");
-
- while ($number--) {
- $results[] = $words[array_rand($words, 1)];
- }
- return $results;
- }
-
- function _error_handler($x) {
- }
-
- private function _load_comment_info() {
- if (class_exists("Comment_Model")) {
- $this->template->comment_count = ORM::factory("comment")->count_all();
- } else {
- $this->template->comment_count = 0;
- }
- }
-
- private function _load_tag_info() {
- if (class_exists("Tag_Model")) {
- $this->template->tag_count = ORM::factory("tag")->count_all();
- $this->template->most_tagged = Database::instance()
- ->select("item_id AS id", "COUNT(tag_id) AS count")
- ->from("items_tags")
- ->groupby("item_id")
- ->orderby("count", "DESC")
- ->limit(1)
- ->get()
- ->current();
- } else {
- $this->template->tag_count = 0;
- $this->template->most_tagged = 0;
- }
- }
-
- function install($module_name, $redirect=true) {
- $to_install = array();
- if ($module_name == "*") {
- foreach (module::available() as $module_name => $info) {
- if (empty($info->installed)) {
- $to_install[] = $module_name;
- }
- }
- } else {
- $to_install[] = $module_name;
- }
-
- foreach ($to_install as $module_name) {
- if ($module_name != "gallery") {
- require_once(DOCROOT . "modules/${module_name}/helpers/${module_name}_installer.php");
- }
- module::install($module_name);
- }
-
- if ($redirect) {
- url::redirect("scaffold");
- }
- }
-
-
- public function package() {
- $this->auto_render = false;
- $db = Database::instance();
-
- // Drop all tables
- foreach ($db->list_tables() as $table) {
- $db->query("DROP TABLE IF EXISTS `$table`");
- }
-
- // Clean out data
- dir::unlink(VARPATH . "uploads");
- dir::unlink(VARPATH . "albums");
- dir::unlink(VARPATH . "resizes");
- dir::unlink(VARPATH . "thumbs");
- dir::unlink(VARPATH . "modules");
- dir::unlink(VARPATH . "tmp");
-
- $db->clear_cache();
- module::$modules = array();
- module::$active = array();
-
- // Use a known random seed so that subsequent packaging runs will reuse the same random
- // numbers, keeping our install.sql file more stable.
- srand(0);
-
- try {
- gallery_installer::install(true);
- module::load_modules();
-
- foreach (array("user", "comment", "organize", "info", "rss",
- "search", "slideshow", "tag") as $module_name) {
- module::install($module_name);
- module::activate($module_name);
- }
- } catch (Exception $e) {
- Kohana::log("error", $e->getTraceAsString());
- print $e->getTrace();
- throw $e;
- }
-
- url::redirect("scaffold/dump_database");
- }
-
- public function dump_database() {
- $this->auto_render = false;
-
- // We now have a clean install with just the packages that we want. Make sure that the
- // database is clean too.
- $db = Database::instance();
- $db->query("TRUNCATE {sessions}");
- $db->query("TRUNCATE {logs}");
- $db->query("DELETE FROM {vars} WHERE `module_name` = 'gallery' AND `name` = '_cache'");
- $db->update("users", array("password" => ""), array("id" => 1));
- $db->update("users", array("password" => ""), array("id" => 2));
-
- $dbconfig = Kohana::config('database.default');
- $conn = $dbconfig["connection"];
- $pass = $conn["pass"] ? "-p{$conn['pass']}" : "";
- $sql_file = DOCROOT . "installer/install.sql";
- if (!is_writable($sql_file)) {
- print "$sql_file is not writeable";
- return;
- }
- $command = "mysqldump --compact --add-drop-table -h{$conn['host']} " .
- "-u{$conn['user']} $pass {$conn['database']} > $sql_file";
- exec($command, $output, $status);
- if ($status) {
- print "<pre>";
- print "$command\n";
- print "Failed to dump database\n";
- print implode("\n", $output);
- return;
- }
-
- // Post-process the sql file
- $buf = "";
- $root = ORM::factory("item", 1);
- $root_created_timestamp = $root->created;
- $root_updated_timestamp = $root->updated;
- foreach (file($sql_file) as $line) {
- // Prefix tables
- $line = preg_replace(
- "/(CREATE TABLE|IF EXISTS|INSERT INTO) `{$dbconfig['table_prefix']}(\w+)`/", "\\1 {\\2}",
- $line);
-
- // Normalize dates
- $line = preg_replace("/,$root_created_timestamp,/", ",UNIX_TIMESTAMP(),", $line);
- $line = preg_replace("/,$root_updated_timestamp,/", ",UNIX_TIMESTAMP(),", $line);
- $buf .= $line;
- }
- $fd = fopen($sql_file, "wb");
- fwrite($fd, $buf);
- fclose($fd);
-
- url::redirect("scaffold/dump_var");
- }
-
- public function dump_var() {
- $this->auto_render = false;
-
- $objects = new RecursiveIteratorIterator(
- new RecursiveDirectoryIterator(VARPATH),
- RecursiveIteratorIterator::SELF_FIRST);
-
- $var_file = DOCROOT . "installer/init_var.php";
- if (!is_writable($var_file)) {
- print "$var_file is not writeable";
- return;
- }
-
- $paths = array();
- foreach($objects as $name => $file){
- if ($file->getBasename() == "database.php") {
- continue;
- } else if (basename($file->getPath()) == "logs") {
- continue;
- }
-
- if ($file->isDir()) {
- $paths[] = "VARPATH . \"" . substr($name, strlen(VARPATH)) . "\"";
- } else {
- // @todo: serialize non-directories
- print "Unknown file: $name";
- return;
- }
- }
- // Sort the paths so that the var file is stable
- sort($paths);
-
- $fd = fopen($var_file, "w");
- fwrite($fd, "<?php defined(\"SYSPATH\") or die(\"No direct script access.\") ?>\n");
- fwrite($fd, "<?php\n");
- foreach ($paths as $path) {
- fwrite($fd, "!file_exists($path) && mkdir($path);\n");
- }
- fclose($fd);
- url::redirect("scaffold");
- }
-
- private function _load_album_tree() {
- $tree = array();
- foreach (ORM::factory("item")->where("type", "album")->find_all() as $album) {
- if ($album->parent_id) {
- $tree[$album->parent_id]->children[] = $album->id;
- }
- $tree[$album->id]->album = $album;
- $tree[$album->id]->children = array();
- }
-
- return $tree;
- }
-
- public function form($arg1, $arg2) {
- if ($arg1 == "add" && $arg2 == "photos") {
- print $this->_get_add_photo_html();
- }
- $this->auto_render = false;
- }
-
- public function _get_add_photo_html($parent_id=1) {
- $parent = ORM::factory("item", $parent_id);
- return photo::get_add_form($parent);
- }
-}
diff --git a/modules/gallery/helpers/gallery_menu.php b/modules/gallery/helpers/gallery_menu.php
index 1f5151a3..0f0e676d 100644
--- a/modules/gallery/helpers/gallery_menu.php
+++ b/modules/gallery/helpers/gallery_menu.php
@@ -20,15 +20,6 @@
class gallery_menu_Core {
static function site($menu, $theme) {
$is_admin = user::active()->admin;
- if (file_exists(MODPATH . "gallery/controllers/scaffold.php") && $is_admin) {
- $menu->append($scaffold_menu = Menu::factory("submenu")
- ->id("scaffold")
- ->label("Scaffold"));
- $scaffold_menu->append(Menu::factory("link")
- ->id("scaffold_home")
- ->label("Dashboard")
- ->url(url::site("scaffold")));
- }
$menu->append(Menu::factory("link")
->id("home")
diff --git a/modules/gallery/views/scaffold.html.php b/modules/gallery/views/scaffold.html.php
deleted file mode 100644
index 60ce0b57..00000000
--- a/modules/gallery/views/scaffold.html.php
+++ /dev/null
@@ -1,169 +0,0 @@
-<?php defined("SYSPATH") or die("No direct script access.") ?>
-<html>
- <head>
- <title>Gallery3 Scaffold</title>
- <style>
- body {
- background: #999;
- font-family: Trebuchet MS;
- }
-
- div.outer {
- width: 650px;
- background: white;
- border: 1px solid black;
- margin: 0 auto;
- padding: -10px;
- }
-
- div.inner {
- padding: 0 1em 0 1em;
- margin: 0px;
- }
-
- h1, h2, h3 {
- margin-bottom: .1em;
- }
-
- p {
- margin: 0 0 0 0;
- padding-left: 1em;
- }
-
- table {
- padding-left: 1em;
- }
-
- pre {
- border: 1px solid #666;
- margin: 1em 0;
- padding: .5em;
- overflow: scroll;
- }
-
- .error {
- color: red;
- }
-
- .success {
- color: green;
- }
-
- p.success {
- font-weight: bold;
- }
-
- div.block {
- padding: 0px;
- margin: 0px;
- }
-
- ul {
- margin-top: -.25em;
- }
-
- fieldset {
- margin-left: 1em;
- margin-bottom: 1em;
- padding-bottom: 0;
- }
-
- a {
- text-decoration: none;
- }
-
- a:hover {
- text-decoration: underline;
- }
-
- a.allowed {
- color: green;
- font-size: 110%;
- }
-
- a.denied {
- color: red;
- font-size: 90%;
- }
-
- .gHide {
- display: none;
- }
-
- div#browse {
- border: 1px solid black;
- background: #eee;
- width: 450px;
- padding: 2px;
- margin: 5px 0px 0px 1em;
- }
- </style>
- </head>
- <body>
- <div class="outer">
- <center>
- <img src="<?= url::file("modules/gallery/images/gallery.png") ?>"/>
- </center>
- <div class="inner">
- <h1>Gallery3 Scaffold</h1>
- <p>
- This is
- a <b><a href="http://www.google.com/images?q=scaffold">scaffold</a></b>:
- a <i>temporary structure built to support the developers as
- they create the real product</i>. As we flesh out Gallery 3,
- we'll make it possible for you to peer inside and see the
- application taking shape. Eventually, this page will go
- away and you'll start in the application itself. In the
- meantime, here are some useful links to get you started.
- </p>
-
- <? if ($album_count > 0): ?>
- <div id="browse">
- <p>
- <?= html::anchor("albums/1", "Browse Gallery") ?>
- <i>(<?= $album_count ?> albums, <?= $photo_count ?> photos, <?= $comment_count ?> comments, <?= $tag_count ?> tags)</i>
- </p>
- </div>
- <? endif ?>
-
- <div id="actions" class="activity">
- <fieldset>
- <legend>Generate Test Data</legend>
- <p>
- add: [
- <? foreach (array(1, 10, 50, 100, 500, 1000) as $count): ?>
- <?= html::anchor("scaffold/add_albums_and_photos/$count", "$count") ?>
- <? endforeach ?>
- ] photos and albums
- </p>
- <p>
- add: [
- <? foreach (array(1, 10, 50, 100, 500, 1000) as $count): ?>
- <?= html::anchor("scaffold/add_albums_and_photos/$count/album", "$count") ?>
- <? endforeach ?>
- ] albums only
- </p>
- <p>
- add: [
- <? foreach (array(1, 10, 50, 100, 500, 1000) as $count): ?>
- <?= html::anchor("scaffold/add_comments/$count", "$count") ?>
- <? endforeach ?>
- ] comments
- </p>
- <p>
- add: [
- <? foreach (array(1, 10, 50, 100, 500, 1000) as $count): ?>
- <?= html::anchor("scaffold/add_tags/$count", "$count") ?>
- <? endforeach ?>
- ] tags
- </p>
- </fieldset>
- <fieldset>
- <legend>Packaging</legend>
- <a href="<?= url::site("scaffold/package") ?>">Make Package</a>
- </fieldset>
- </div>
- </div>
- </div>
- </body>
-</html>