Commit Graph

77 Commits

Author SHA1 Message Date
Bharat Mediratta
c67234974d Refactor site admin menu into a theme function and build the menus in
the various modules.  In the process, rename xxx_menu::site_navigation() to just
xxx_menu::site().  And add xxx_menu::admin().

The menus are the same as before, but I changed the HTML to be
consistent with the way that we do it in the regular site, and this
broke the superfish styles.  I don't know how to fix this.. help me
Chad!
2008-12-18 07:32:34 +00:00
Bharat Mediratta
fc7b78492b Separate thumbnails out into var/thumbs. This clears up some ambiguity in Item_Model and simplifies
file_proxy.  It also means we can stop munging file names in the var/resizes hierarchy.

In the process, rename "thumbnail" to "thumb" everywhere in honor of
Chad (well, ok because it's shorter)..
2008-12-17 04:45:35 +00:00
Bharat Mediratta
af32e5708d Remove all caching from ORM_MPTT. This was premature optimization: it
wasn't benefitting us, and it will get in the way when we want to add
implicit view protection to our queries.
2008-12-16 23:36:56 +00:00
Bharat Mediratta
d9e02a5d0c Various optimizations:
o Add model_cache::get() which caches models avoiding duplicate lookups
o Stop using ORM relationships for Item_Model::owner so that we can use caching
o For Item_Model::xxx_edit fields, don't make them editable for guests
o Other minor stuff.

These optimizations reduce the number of queries for a 9-photos page from ~200
to ~45.  Still way too many!
2008-12-16 04:29:00 +00:00
Bharat Mediratta
20f6be62c8 Add Admin_View 2008-12-15 01:49:25 +00:00
Bharat Mediratta
c02d2554cf Refactor admin dashboard.
o Copy all the assets from default to default_admin so that they're
  totally separate
o Get rid of $item_theme
o Rename list_users.html.php to users.html.php
o use __call in admin controller to allow us to load any admin page
2008-12-15 01:48:34 +00:00
Bharat Mediratta
2cf3233f54 Get rid of all pseudo users and pseudo groups, while preserving all
other functionality.  This makes our user/group and access code
fully consistent.
2008-12-12 00:59:30 +00:00
Bharat Mediratta
bcd10e4a7f Convert a stray <li> to </li> 2008-12-11 19:12:41 +00:00
Tim Almdal
1af3b8e100 Changes to the Menu.php:
1) separate the classes that are generated by the Menu class from what is used for the rendering. The classes that are generated are gMenu, gMenuElement, and gMenuDialog for the Menu, Menu_Element and MenuDialog classes respectively.
2) Changed the ui.init.js to add the appropriate rendering classes to the above classes. All gMenu elements have the sf-menu class added.  All elements of class gMenuDialog have the gDialogLink class added.
3) Use Superfish for the menus so they now float properly.
2008-12-11 19:01:47 +00:00
Bharat Mediratta
09364348c7 Remove navigation_top() and navigation_bottom() as they're subsumed by the new menu code 2008-12-10 04:25:20 +00:00
Bharat Mediratta
b878ed174d Refactor Menu code to create allow you to create menus using a
chainable factory interface and retrieve them by ids.  Streamlined the
HTML creation code a little bit in the process, moved the basic menu
functionality into Theme_View and created the option to have different
menus other than site_navigation().
2008-12-08 06:14:34 +00:00
Bharat Mediratta
8592aad2bb Replace protected array and __get() with just class variables. This is faster and tighter. 2008-12-08 04:55:39 +00:00
Tim Almdal
ee2299d6d0 Restructure Menu processing to respect the differnent types of menu items (Menu's, Menu_Link, Menu_Dialog) 2008-12-08 00:23:33 +00:00
Tim Almdal
ba2b39624b correct menu processing such that urls=# aren't given class gDialogLink 2008-12-07 22:19:26 +00:00
Tim Almdal
3449827c5a Change the menu processing to add the gDialogLink class if the url starts with a #. this results in a modal dialog box being opened. At this point the url is not retrieved and the text just shows up in the dialog box... need to look at that 2008-12-07 22:10:23 +00:00
Tim Almdal
5f9e35bf93 Remove debugging code 2008-12-07 21:34:19 +00:00
Tim Almdal
954fcf0342 Merge gallery3/branches/menus back into gallery3/trunk 2008-12-07 19:45:46 +00:00
Bharat Mediratta
fef188d787 Leave all locking in ORM_MPTT::move_to, don't worry about it in
Item_Model::move_to, unless it turns out that we really need to.
2008-12-07 09:25:40 +00:00
Bharat Mediratta
bf7ab8904a Change ORM_MPTT::add_to_parent() to take an ORM instead of an id so
that it's consistent with ORM_MPTT::move_to()
2008-12-07 08:46:44 +00:00
Bharat Mediratta
e40b54a468 Adjust exception text to our normal form. 2008-12-07 08:32:30 +00:00
Bharat Mediratta
c9cc6ffd1a fix a couple of typos. 2008-12-07 08:30:08 +00:00
Bharat Mediratta
055aa04497 Rename moveTo to move_to and extend the test a bit. 2008-12-07 08:23:22 +00:00
Tim Almdal
6ea063bc4c Tweak some issues with the moveTo Processing 2008-12-04 21:33:25 +00:00
Tim Almdal
0f103b1c06 Moving albums around with a drag and drop interface seems to work and preserve the left right pointers.
* changed _lock and _unlock to protected methods lock and lock respectively
* added a moveTo method on the Item_Model
* Corrected the hole closure  on delete.
* added moveTo on the ORM_MTPP class
* Changed the rearrange javascript to do moves with ajax
2008-12-04 20:05:58 +00:00
Bharat Mediratta
375e7c675e Implement ORM_MPTT::delete() properly.
Inline ORM_MPTT::_grow() for now
Rewrite ORM_MPTT tests to be domain specific; they no longer use album/photo helpers.
2008-12-04 05:47:05 +00:00
Tim Almdal
5c095cbd78 Add unit tests to test growing and contracting the left and right pointers
Added a delete method to ORM_MPTT that contracts the tree when an item is deleted
2008-12-04 01:12:44 +00:00
Bharat Mediratta
89c4dadec2 Rename module::get_list() to module::installed() 2008-11-28 18:39:18 +00:00
Bharat Mediratta
4d71975f37 Add credits theme callback, point the powered-by link at GMC 2008-11-28 09:46:29 +00:00
Bharat Mediratta
18412bb14e Add tag() function 2008-11-28 01:18:45 +00:00
Tim Almdal
bac4ff2046 1) Create a Theme_View class that combines the functionality of the Theme class with the View class.
2) Only define the form.html.php::DrawForm method once if there are multiple forms on the page (i.e. comments and add tags)
2008-11-27 16:19:07 +00:00
Bharat Mediratta
34a286ae90 Add navigation_top() and navigation_bottom() insertion points
Move "My Gallery" navigation tab into the user module and only show it
if you're logged in
2008-11-27 11:33:45 +00:00
Bharat Mediratta
8e33f5d7b9 Add page_type() function 2008-11-27 04:58:38 +00:00
Bharat Mediratta
974f9f7788 Add a new "tag" page type.
Create the concept of "page types" which let us specify the kind of
page that we're rendering in high level terms.  Currently there are
three page types: album, photo and tag.

The tag page type uses slightly different variables.  It has a $tag
but no $item.  Adjust all sidebar_block() functions to avoid printing
stuff that's dependent on the item if there is no item.

Simplify the tag code to stop trying to fake an item.

Update the theme slightly to use $item and $tag where appropriate
(notably, for making the <title> element).
2008-11-26 21:50:45 +00:00
Bharat Mediratta
496007d2ae NULL -> null 2008-11-26 21:15:37 +00:00
Andy Staudacher
66f51f3c17 Initial commit of the translation class, I18n_Core and some tests.
- Port of Ruby's I18n gem (http://rails-i18n.org/)
- Added proper plural handling on top of that.
- Using CLDR 1.6's plural form data
- See I18n_Test for example usage.
- Not integrated into G3 templates yet. Probably adding __() as alias for I18n::instance->translate().
- No specific plan yet where localization files should live.
2008-11-26 11:46:56 +00:00
Bharat Mediratta
229e531ab9 Change url() to use url::file() since it's more concise. 2008-11-25 04:41:14 +00:00
Bharat Mediratta
8b84b188bf Remove module() since it's now unused. We can add it back if we decide that we want it again. 2008-11-25 04:40:07 +00:00
Bharat Mediratta
b22494a4ea Move the in-place-edit JS into the page_footer callback and out of
Theme.php.
2008-11-25 04:37:21 +00:00
Bharat Mediratta
6935cfef40 Add gClearFix to the annotated theme elements, which makes the box surround its contents better (thanks thumb!) 2008-11-25 02:27:00 +00:00
Bharat Mediratta
dcf3693b3e Add theme debugging. Activate it in the [info] tab in the
scaffolding, then browse around your Gallery3 to see where you can add
visible elements via modules.
2008-11-25 02:17:53 +00:00
Tim Almdal
dd200ce5ff Don't bother trying to check if the class file exists, just use method_exists, which will use the php auto loader to find the class. 2008-11-24 06:02: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
bdbb115296 Remove extra quotes around variable that already contained a string value 2008-11-23 08:38:24 +00:00
Bharat Mediratta
1b76def26f Create thumbnail insertion points (top/bottom/info) and move
the generic item info into the info module.
2008-11-22 21:59:41 +00:00
Bharat Mediratta
35cfbfdef4 Pass extra args on to the block function.
Avoid excess string concatenation (not benchmarked).
2008-11-22 21:50:39 +00:00
Bharat Mediratta
c6f0cc036d Move all block callbacks from View::block_type() to
$theme->block_type() so that the themer has a consistent interface.
Also added a bunch more callbacks and normalized the names so that the
module author has plenty of options for where stuff gets put on the
page.  Especially renamed album/photo/sidebar to be album_blocks()
photo_blocks() and sidebar_blocks() to make it clear that those are
going to be larger content sections and not just basic insertion
points.

Used __call() to collapse all functions in the theme, which
incidentally makes it trivially easy to add a new insertion point.
2008-11-22 21:46:34 +00:00
Tim Almdal
8eadddfa87 Convert gmaps, info, and tag modules to the new block module 2008-11-22 05:51:15 +00:00
Tim Almdal
01c8cdc8dd Convert the carousel module to provide its block through the new api 2008-11-21 23:55:29 +00:00
Tim Almdal
60191f1d2c Be consistent in naming the album_top block 2008-11-21 23:36:41 +00:00
Tim Almdal
6ec266faa6 2nd attempt at inserting html by modules. 2008-11-21 20:13:28 +00:00