Commit Graph

143 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
9b6ccfc7f3 Fix some lint errors 2008-12-17 19:06:39 +00:00
Bharat Mediratta
26f0b4e44d Clear out module list in load_modules() before trying any db operations 2008-12-17 19:04:20 +00:00
Bharat Mediratta
fa5a8fde4a Switch from cookie sessions to database sessions. We can't use cookie
sessions; it encodes all the value into the cookie which means
little/no security, transfer costs, and storage limits.
2008-12-17 18:32:08 +00:00
Bharat Mediratta
130e26983a Add initialization to the user module to put the user and group_ids
into the session, for easy access.  This cuts down the number of
queries when we're loading images through file_proxy.php
2008-12-17 17:40:45 +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
8c7d0a76e5 Add file_proxy. This is controller gets triggered by .htaccess
protection on var/albums and var/resizes and only displays files to
the user if they have "view" permission on the base ite.
2008-12-16 23:07:33 +00:00
Bharat Mediratta
e2544da5b0 Alphabetize field names to make it easier to find 'em. 2008-12-16 08:27:06 +00:00
Bharat Mediratta
3e219aab6b Change htaccess rules to use mod_rewrite 2008-12-16 08:17:00 +00:00
Bharat Mediratta
83363172b1 Don't use model_cache for get_version and set_version; that breaks the installer. 2008-12-16 05:04:42 +00:00
Bharat Mediratta
3273984582 Use model_cache::get() to reduce duplicate queries 2008-12-16 04:56:51 +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
dc08917345 Fix a bug where we were not deleting the .htaccess file on access::reset() 2008-12-16 02:31:13 +00:00
Bharat Mediratta
61618af0db Create and delete .htaccess files based on the view permissions for
the group::everybody() user.
2008-12-16 01:04:19 +00:00
Bharat Mediratta
898d001330 Fix capitalization. 2008-12-16 00:50:51 +00:00
Bharat Mediratta
eecf7bd518 phpdoc cleanup 2008-12-16 00:31:50 +00:00
Bharat Mediratta
3d2fc86604 Permission only function on albums. 2008-12-16 00:30:05 +00:00
Bharat Mediratta
2f8b4df0f5 Protect menus and blocks against the fact that we don't have an item
on tag pages.
2008-12-15 21:23:00 +00:00
Tim Almdal
1d3e1484a7 The admin high level menu is shown if the active user is not a guest. Other sub menus depend on the appropriate level of access 2008-12-15 19:51:49 +00:00
Tim Almdal
b2107c3734 1) Move the deletion of the vars into module::delete helper
2) remove the watermark_add_form.html.php
2008-12-15 03:49:48 +00:00
Bharat Mediratta
2812f34732 Rename default_admin to admin_default. 2008-12-15 01:55:07 +00:00
Felix Rabinovich
c46bd97407 load admin subpages AJAXy way 2008-12-14 21:50:10 +00:00
Tim Almdal
fc1e7a9333 1) fix Forge_Group to display the label (will raise a bug with Kohana)
2) Change form.html.php to use the group label instead of the name
3) Converted the add photo to explicity set the label of the field (new coding standard)
2008-12-14 03:19:31 +00:00
Felix Rabinovich
13ad40ab5c Created admin controller and made admin obey admin theme settings 2008-12-14 02:23:37 +00:00
Bharat Mediratta
af8c74f612 Fix a bug where parent permissions were not getting inherited to newly
created albums and photos.
2008-12-13 20:06:20 +00:00
Bharat Mediratta
8ba5ea3cf8 Make sure that access::can fails if the item is not loaded 2008-12-13 19:49:33 +00:00
Tim Almdal
80792d4fb1 Set the resize and thumbnail maximum dimension into the module vars table 2008-12-13 05:01:12 +00:00
Tim Almdal
7b7bf37e67 Set thumbnails to 200x200 and resizes to 640x640 and let the Image::resize method pick the right aspect ratio 2008-12-13 04:12:40 +00:00
Tim Almdal
942dbe175c Remove a couple of todo's by store the "theme name", "admin theme name" and "page size" in the vars table and initializing when the core module is installed 2008-12-12 19:39:38 +00:00
Bharat Mediratta
e12451cf10 Refaactor module::install() and module::uninstall() out of the
scaffolding and unit test code so that we can use it consistently.
This fixes an issue where adding a module was not refreshing the
statically cached module list causing the test framework to break.
2008-12-12 08:41:48 +00:00
Bharat Mediratta
7e4d13d9bd Point the Site Admin link at the wireframe for now. 2008-12-12 08:00:07 +00:00
Bharat Mediratta
597cc0013c Make the error handler public, else it can't be called from outside
this class (which is the most likely scenario).
2008-12-12 07:55:19 +00:00
Bharat Mediratta
79226f0a8f Cache modules and module_names when we call load_modules so that we don't have to check every time 2008-12-12 07:53:54 +00:00
Bharat Mediratta
187f28a6b3 Yet another deal with bootstrapping when we've got no core install yet. 2008-12-12 07:42:26 +00:00
Bharat Mediratta
e65f8d5022 Remove head() for now. 2008-12-12 07:25:43 +00:00
Bharat Mediratta
54d27238f3 Fix module::_core_installed() hack. 2008-12-12 07:09:00 +00:00
Bharat Mediratta
a3142246e4 Move the view permission cache directly into the item table for efficiency. Unit tests ftw! 2008-12-12 06:54:48 +00:00
Bharat Mediratta
35067cbced Expand on our core-is-installed checking code. 2008-12-12 01:22:03 +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
0f41cab732 Guard load_modules() against the case that the database isn't installed. 2008-12-11 23:10:42 +00:00
Tim Almdal
bd992a97b2 Remove the options menus from the albums and photo pages and move to the site menu 2008-12-11 21:27:16 +00:00
Bharat Mediratta
914164d5eb Split _update_access_cache into two functions separating view from
non-view.  This is a step along the path towards moving the view
access cache into the item model.
2008-12-11 19:06:40 +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
Tim Almdal
f3d40c02ec A a script block to the <head> of the page that creates a javascript variable (base_url) such that javascript on the page can find the base url of the site in order to generate ajax callbacks. 2008-12-11 18:53:54 +00:00
Tim Almdal
e84a0ebe46 Change the name of the implmentation of module parameters to module vars 2008-12-11 16:06:22 +00:00
Tim Almdal
52ed3f11fd Fix problem with access::can, where the $item->id was being passed to the access_group::can method. 2008-12-10 22:19:39 +00:00
Tim Almdal
7e5935d532 Create a module parameter table. This will be useful if a module wants to store information, but is not enough to warrant a table of its own 2008-12-10 19:44:58 +00:00
Bharat Mediratta
18a6614a11 Change all access API methods to take ORMs instead of ids. This will
minimize reloading objects from the database.
2008-12-10 07:05:49 +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
f198331065 Put profiler into page_bottom() 2008-12-10 04:23:48 +00:00