Commit Graph
40 Commits
Author SHA1 Message Date
Bharat Mediratta b79ce414de Detect browsers that prefer XHTML (Chrome!) and normalize it to HTML
so that we don't ship XML down to Chrome.
2008-11-24 07:50:20 +00:00
Tim Almdal 8b52d9cde4 Revert the site_title change 2008-11-24 05:58:38 +00:00
Tim Almdal 7491e3c44a Add a site-config parameter to the config.php file. Created a core_block:head method to insert the title into the head section. If the config value is false, the default Browse Photos::$item->title is used. A string value with a trailing '-' will append the config value to $item-title. Otherwise, the page title is set with the supplied value. 2008-11-23 16:51:06 +00:00
Tim Almdal a347ed5c10 Correct case on helper class names. By convention, helper class names are lower case:
http://docs.kohanaphp.com/general/helpers

Remove block_helper file as the abstract class os no longer required.
2008-11-22 06:01:08 +00:00
Jozef Selesi 88f799be6f Fixed a bug in the REST controller dispatcher and added a test case that excercises it. 2008-11-21 21:07:36 +00:00
Tim Almdal 6ec266faa6 2nd attempt at inserting html by modules. 2008-11-21 20:13:28 +00:00
Tim Almdal 992cf22c79 Revert module block approach 2008-11-21 07:06:11 +00:00
Tim Almdal b78cee6395 A look at away to allow modules to define html head contents (links and js) and also allow modules to contribute blocks to the layout. 2008-11-20 17:32:58 +00:00
Bharat Mediratta e2b040c6ae Add a missing slash in the HTTP return code 2008-11-20 06:49:43 +00:00
Tim Almdal 29cc48ebcf Correct missing quotes 2008-11-20 04:41:29 +00:00
Jozef Selesi c3fc1cb7ec * Added HTTP status constants and helper functions to REST helper.
* HTTP header setting in comment module now going through REST helper API.
* Fixed items controller test.
* Fixed user installer test.
* Fixed _create() handling in the REST controller.
* Fixed routing for edit and add forms.
* Added some tests for the REST controller.
* Set svn:eol-style to LF on a bunch of files.
* Added preamble to MY_Forge.php.
2008-11-20 01:25:29 +00:00
Bharat Mediratta 9ddc8c8aab Fix typo. 2008-11-19 23:36:50 +00:00
Bharat Mediratta 4a4eac31ad Create url::abs_site() and url::abs_file() to allow us to generate
full URLs with a clean API, and isolate the cruddy party where we have
to hardcode the server protocol into a single file.
2008-11-19 23:33:50 +00:00
Tim Almdal 103bd8e8d2 Add the original item height and width to the item table 2008-11-19 22:45:30 +00:00
Bharat Mediratta 5638fc5fb6 Change the way that we do RESTful routing.
1) We now use __call() in REST_Controller to handle any requests to a controller
   that were not already handled.  In the case of RESTful controllers, this should
   be the only entry point (although they're free to break the model and add other
   ones.. nothing stops them).

   This means that we can remove all the catch-all routes in
   routes.php which greatly simplifies it.

2) Move request_method() and output_format() out of REST_Controller and into the REST
   helper in core/helpers/rest.php

3) Experiment with letting the various subclasses check the output_format and deal with
   it themselves.  This simplifies the API, but it might be a bad idea in that it might
   push too much work to the individual controllers.  It's a balancing act, time will tell,
   I'm willing to change it back later.
2008-11-19 04:20:35 +00:00
Bharat Mediratta 3e67a35cb0 change mime_type column from 255 chars to 64 2008-11-19 03:39:38 +00:00
Tim Almdal c7b2090f0c add the mime type column on the item table 2008-11-19 03:29:53 +00:00
Tim Almdal 6f4fae0786 Added the is_installed to the module helper and change to photo.html to not try to display a comment if it is not installed 2008-11-18 16:26:36 +00:00
Bharat Mediratta c91e90406b Add output formats to our REST controllers. Add support for JSON and
XML to the comment controllers as a proof of concept.  It's not fully
baked; we should examine ways to create helpers to make this process
easier.
2008-11-17 00:30:18 +00:00
Bharat Mediratta e901d613bf Add Theme::module() and module::get() 2008-11-15 09:08:18 +00:00
Bharat Mediratta 0fe8d44472 Create module helper and refactor all the code that creates, updates
and deletes modules into it.
2008-11-13 10:38:28 +00:00
Bharat Mediratta e7155c09c5 Implement Item_Controller::put() and delete()
Adjust/simplify photo::create
Add image uploading to the scaffolding
2008-11-09 23:40:28 +00:00
Bharat Mediratta 25dd0bbf1c style fix 2008-11-09 23:29:05 +00:00
Bharat Mediratta 418c0aab69 Create permanent owner_id column in the item table, and use a soft
relationship to bind the two.  To do this, I overrode __get in
Item_Model so that $item->owner returns the appropriate User_Model.
2008-11-08 07:48:36 +00:00
Felix Rabinovich 28b739a210 Adding user (owner) to items; info module 2008-11-08 07:18:56 +00:00
Bharat Mediratta 36d1be4717 44 --> E_DATABASE_ERROR 2008-11-08 05:12:37 +00:00
Tim Almdal 57683d5b70 Change how the modules table doesn't exist is caught. In running unit test, sometimes i would get the message "There was an SQL error: Table 'gallery3_unittest.modules' doesn't exist - ...." and sometimes I would get the message "Table modules does not exist in your database." In both cases the error code was 44. 2008-11-08 01:19:03 +00:00
Bharat Mediratta 6cafc61f96 album::set_thumbnail is now part of Item_Model so it can go.
Fix a bug in the scaffolding where we weren't saving the album after
adding its thumbnail (so its dimensions weren't getting set).
2008-11-06 05:51:20 +00:00
Bharat Mediratta ae00f73944 * Add thumbnail and resize dimensions to the item table and use them
properly in the theme.
* Move thumbnail and resize generation down into the model for
  consistency.
* Add a sample thumbnail for albums
* Fix a bug in the ORM to clear the cache when we reload an object.
* Add Kohana docs to the scaffold.
2008-11-05 09:42:47 +00:00
Bharat Mediratta 581e931c43 Change the default theme to actually render what's in the Gallery.
Currently only the album view works, albums have no thumbnails, and
there's only 1 image in use.

Improved Item_Model to have the following API methods
  file_path() -- returns the path to the source image or album dir
  thumbnail_path(), thumbnail_url() -- returns path/url to the thumbnail
  resize_path(), resize_url() -- returns path/url to the resize

All tests updated.
2008-11-05 07:13:46 +00:00
Bharat Mediratta 04a738bc18 Declare install/uninstall stat.c 2008-11-05 01:30:59 +00:00
Bharat Mediratta 605d2de336 Lots of new stuff!
Replace theme HTML with *almost* the latest stuff from the
mockups.  (it doesn't include r18467 yet).

Our theme format is now modelled after WordPress / Habari's style
where you have one entry point per type (eg: album.php) which can
load up whatever parts it needs (eg: $theme->display("header"))

Created album and photo helpers which have create() functions
that form the base of our new API, along with tests for them.

Created our own version of the ORM_MPTT since the existing
versions were too buggy and unsupported to depend upon.  Only has
a minimal implementation so far, and the tests are not yet
committed.

Added path(), thumbnail_path() and resize_path() to Item_Model

Extended the scaffolding to allow you to add lots of
photos/albums into your hierarchy.

Deleted modules/mptt -- we're not going to use this anymore.
2008-11-04 21:24:42 +00:00
Bharat Mediratta ade1650846 Add a test to detect tabs in our code, and convert all tabs to spaces
so that the test passes.
2008-11-04 05:22:06 +00:00
Bharat Mediratta 630b0f26fc Restructure the theme code to be more like WordPress / Habari. Now,
the controller initiates a request to a top level page (eg:
album.html.php) which is then free to include whatever other page
chunks it wants with calls like <?= $theme->display('header.html') ?>

Variables like $item and $children are in the global space for all
views.

theme.php helper is now Theme.php library which lets us store the name
of the theme inside the variable itself.  This means that the theme
does not have to know its own name because you can use $theme->url()
for all urls to stuff inside the theme itself, which makes it possible
to cline a theme without changing a single line.

Still using the mock album UI.
2008-11-04 05:02:37 +00:00
Bharat Mediratta 8a4ab78bfb Oops, injecting the function name caused an extra call in the call
stack.  The test passed, but the actual code failed.  Fixed now.
2008-11-03 06:02:40 +00:00
Bharat Mediratta 6da6b8ed52 Theme helper. Right now it has one api method, theme::url which
returns a url local to the theme that you're in.  For example, if
you're in themes/foo/views/page_header.html.php and you call
theme::url("images/foo.png") then it'll create a url to:
themes/foo/images/foo.png
2008-11-03 05:52:13 +00:00
Bharat Mediratta 6c35abd30a whitespace fix 2008-11-03 05:36:44 +00:00
Bharat Mediratta 8831e89f40 More bootstrap code.
* core_installer::install now creates the root album and the albums/thumbnails
  directories under VARPATH.
* Add a test for core_installer
2008-11-03 02:08:07 +00:00
Bharat Mediratta 7ae73fcd65 Change structure of item table to match MPTT class (which is a little different from ORM_MPTT which we used in gx 2008-11-03 00:26:55 +00:00
Bharat Mediratta e173f36bcb Create some basic infrastructure:
* item model (contains basic item info, similar to the gx version)
  * module model (has info about each module and which version of it is installed)
  * added a very basic unit test to verify that we can create an instance of item
  * Updated our test controller to require a unit_test db config and
    call core::install if it hasn't been done already.

New pattern:
  * core/helpers/core_installer.php creates core_installer helper.
    When we install a new module you call xxx_installer::install(),
    and when you want it to go away, you do xxx_installer::uninstall()

Create
2008-11-02 23:55:09 +00:00