Commit Graph

1693 Commits

Author SHA1 Message Date
Bharat Mediratta
56ca3b09b6 Focus on the username field by default. Don't use jQuery because we're operating in a very limited context. 2010-08-01 20:48:57 -07:00
Bharat Mediratta
bf7115cf5a Write appropriate PHPdoc for json::reply. 2010-08-01 10:19:36 -07:00
Tim Almdal
cd50fde5de Specify the charset on the content type header 2010-08-01 08:57:22 -07:00
Bharat Mediratta
7607e1f932 Full pass over all the JSON encoding and JS dialog code. We now abide
by the following rules:

1) An initial dialog or panel load can take either HTML or JSON, but
   the mime type must accurately reflect its payload.

2) dialog form submits can handle a pure HTML response, but the mime
   type must also be correct.  This properly resolves the problem
   where the reauth code gets a JSON response first from the reauth
   code, and then an HTML response when you reauth and continue on to
   a given form -- try it out with Admin > Settings > Advanced.

3) All JSON replies must set the mime type correctly.  The json::reply
   convenience function does this for us.

4) By default, any HTML content sent back in the JSON response should be
   in the "html" field, no longer the "form" field.

The combination of these allows us to stop doing boilerplate code like
this in our controllers:

  // Print our view, JSON encoded
  json::reply(array("form" => (string) $view));

instead, controllers can just return HTML, eg:

  // Print our view
  print $view;

That's much more intuitive for developers.
2010-07-31 21:16:17 -07:00
Bharat Mediratta
be4ad8e96d "Save" -> "Download" for clarity. 2010-07-31 16:47:14 -07:00
Tim Almdal
a6280641f5 Resend the entire dialog content (including the wrapping view) instead of just the form. 2010-07-31 15:44:56 -07:00
Tim Almdal
0c535c85ed Missing the user name on the reauthenticate form. 2010-07-31 15:44:56 -07:00
Tim Almdal
29f29d2261 When the admin controller redirects to the reauthenticate controller, the value of request::is_ajax() from the original request is lost. This patch stores its value in the session so the reauthenticate controller knows whether its in a dialog/panel or not. 2010-07-31 15:44:56 -07:00
Tim Almdal
09dfe1a91b Convert the admin_theme controller to use the json::reply method 2010-07-31 15:44:55 -07:00
Tim Almdal
91a2c04a24 More patches as part of #1225. Change the 'core' modules to use the json::reply
method to set the content type header and encode the response as a json object
2010-07-31 15:44:55 -07:00
Tim Almdal
bb04015149 Partial fix for #1225. Create a json reply helper that sets the content type to application/json and then json encodes the reply. 2010-07-31 15:44:55 -07:00
Bharat Mediratta
68f41c7061 Fix typo: ui-corners-all --> ui-corner-all
thanks Lord Beowulf!
2010-07-31 12:12:17 -07:00
Bharat Mediratta
a8bb046209 Use readfile() instead of fopen()/fpassthru()/fclose() for brevity.
I've done some tests on a 60M flv and found that there's no difference
in memory consumption with these three approaches:

  public function test() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    if ($fd = fopen($file, "rb")) {
      while (true) {
        $bits = fread($fd, 65535);
        if (strlen($bits) == 0) {
          break;
        }
        print $bits;
        set_time_limit(30);
      }
      fclose($fd);
    }
    Kohana_Log::add("error","test: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }

  public function test2() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    $fd = fopen($file, "rb");
    fpassthru($fd);
    fclose($fd);
    Kohana_Log::add("error","test2: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }

  public function test3() {
    Kohana::close_buffers(false);
    $file = "/home/bharat/basketball.flv";
    readfile($file);
    Kohana_Log::add("error","test3: " . print_r(array(memory_get_peak_usage(true),memory_get_peak_usage(false)),1));
  }
2010-07-31 11:51:18 -07:00
Bharat Mediratta
7b8ed10796 Add recovery code for dupe slugs and dupe names to the general purpose Fix
task.  Fixes ticket #1260.
2010-07-29 21:49:29 -07:00
Bharat Mediratta
3f48f17e54 We don't care about the name and slug for the root album so don't bother enforcing them. 2010-07-29 19:41:03 -07:00
Bharat Mediratta
ebbb73787d Trap ORM_Validation_Exception specially and report which fields failed validation. 2010-07-29 19:37:38 -07:00
Bharat Mediratta
b3c1b4633c Combine the Fix MPTT and Fix Permissions tasks into one magical fix-it
task.
2010-07-28 22:42:04 -07:00
Bharat Mediratta
dd955781aa "public static" ==> "static" to match code conventions. 2010-07-27 19:54:41 -07:00
Bharat Mediratta
bf1e1d3d1f Verified 2010-07-27 11:19:48 -07:00
Bharat Mediratta
f9137c756e Updated 2010-07-27 10:53:31 -07:00
Bharat Mediratta
52f1c4b8c6 Don't invoke a graphics toolkit when setting the album cover from a
clean thumbnail; we can just copy it over.  Should be a decent perf
improvement in many cases.  Fixes ticket #1255.
2010-07-27 10:49:47 -07:00
Bharat Mediratta
5be9ae3250 Add a new maintenance task that resyncs album .htaccess files with
database access intents.  Use this to fix up .htaccess files after you
relocate your Gallery. Fixes ticket #1252.
2010-07-25 11:10:42 -07:00
Bharat Mediratta
055e115b6a Move the "cancel all" running tasks button up to make it consistent with the "remove all finished" button. 2010-07-25 11:03:32 -07:00
Bharat Mediratta
075cea2a48 Don't use hardcoded id 1 as the everybody group; it won't work with alternative auth schemes. 2010-07-25 10:05:09 -07:00
Bharat Mediratta
108fff735c Initialize $request in submit_translations(). Fixes ticket #1239. 2010-07-22 15:53:00 -07:00
Bharat Mediratta
663f079e85 Properly handle the case where the album_cover_item_id points to an
invalid (probably deleted) item.  Fixes ticket #1238.
2010-07-22 14:08:08 -07:00
Bharat Mediratta
adeea49e0a Catch any exceptions thrown when we try to restore the original
identity provider after we fail to set up a new one.
2010-07-21 11:43:51 -07:00
Bharat Mediratta
2cf5198353 Null out relative_path_cache and relative_url_cache after we update
the pointers in case the hierarchy was adversely affected by actions
when the MPTT pointers were desynced.  Fixes ticket #1235.
2010-07-21 11:34:19 -07:00
Bharat Mediratta
6899af367b Cleanup on the Admin > Languages page.
Hide the fieldset and legend in the theme, since they don't add any value.
Change l10n_client::_server_url() to use the short style GMC urls and make the
API a little tighter.
2010-07-20 12:45:04 -07:00
Bharat Mediratta
9db310186a Use Session::get_once() instead of Session::get() followed by Session::delete(); 2010-07-20 12:22:52 -07:00
Bharat Mediratta
9e9eed1187 Oops! Proper fix for #1201. My last fix just redirected back to the
main site, and didn't actually log you out.
2010-07-20 06:42:20 -07:00
Chad Kieffer
a8c629409b Fix margin: 0 auto; IE issue in the upgrader view by adding a doctype to the template. Minor code refactoring. Also seems to fix #1188. 2010-07-17 15:49:47 -06:00
Chad Kieffer
71e097e47b Fix closing ul on inactive modules list, replaced <i> with <em> in footer. 2010-07-17 15:40:41 -06:00
Bharat Mediratta
5fd166724b Merge branch 'master' of github.com:gallery/gallery3 2010-07-16 11:59:48 -07:00
Bharat Mediratta
583950616e Improve the fix for #1176 to use request::is_ajax() instead of tacking
on a query param to urls that appear in dialogs.  This keeps things simpler.
2010-07-16 11:58:13 -07:00
Tim Almdal
ce2b3d0001 Remove code that was inadvertently committed. 2010-07-16 06:52:18 -07:00
Bharat Mediratta
b51b49cb63 Don't show a themed 404 page if we get to a 404 via file_proxy. Just
return a simple "File not found" message, since this is a very basic
file access (thumbnail, resize, original etc)
2010-07-15 19:45:10 -07:00
Tim Almdal
993e041274 Remove the code to call the controller directly and just use redirect. Now that all the form calls actually return the form as a json object, calling the form creation controller method i no longer required. 2010-07-15 14:57:43 -07:00
Tim Almdal
155d2b809b Rename g-in-dialog to the naming standard for query parameters and give it something more representative... 'gallery_dialog_request' 2010-07-15 14:54:45 -07:00
Bharat Mediratta
86a91c11cf Redirect users away from admin to the main site if you click logout on
the admin dashboard.

Fixes ticket #1201
2010-07-15 12:51:35 -07:00
Bharat Mediratta
fe2881a22a Rename Flash_Uploader to just Uploader. Modules that want to replace
this will just replace the controller.  This makes overriding that
much easier in the future.
2010-07-15 12:37:44 -07:00
Bharat Mediratta
8065ab023d Revert "Fix for ticket #1182. Remove the trailing slash and just let it be matched by the trailing (.*) group"
This breaks adding new albums.  I get the following in my error log:

"2010-07-13 13:08:46 -07:00 --- error: Kohana_404_Exception [ 43 ]: The page you requested, form/add/albums/1?type=album&g-in-dialog, could not be found."

This reverts commit cb4e18f9dd.
2010-07-13 13:42:00 -07:00
Bharat Mediratta
297f98fcee Fix reauth authentication to use the identity helper instead of the
user helper directly.  Else it doesn't work with LDAP and other
identity systems.
2010-07-13 12:52:59 -07:00
Tim Almdal
329abfe539 Merge branch 'master' into talmdal_dev 2010-07-11 09:09:52 -07:00
Bharat Mediratta
0389dceb47 Rotate all matching album covers when we rotate an item. Fixes ticket #1200. 2010-07-10 21:29:34 -07:00
Bharat Mediratta
eb19192c4e If the target of an item move has no album cover, make the newly moved item the album cover.
Fixes ticket #1196.
2010-07-10 18:51:57 -07:00
Bharat Mediratta
b20f9123dc Wrap album deletes in a batch so that we can handle lots of cascading
deletes in bulk.  This lets us avoid the problem where we continually
choose and delete album covers which makes deletes really slow.  It
probably also avoids huge amounts of notification emails (untested).

Fixes ticket #1190.
2010-07-10 18:25:23 -07:00
Bharat Mediratta
b7cd2f73c5 PHPDoc fix. 2010-07-10 15:18:54 -07:00
Bharat Mediratta
0a42d74d55 Reset the time limit to 30 seconds every time we delete a child. Fixes ticket #1199. 2010-07-10 15:10:20 -07:00
Bharat Mediratta
7ca201b118 Pass along the from_id in item::get_delete_form() and then check to
see if we're deleting the album we're inside in quick::delete.  If we
delete the album we're currently viewing, redirect to the parent.

This fixes ticket #1185.
2010-07-10 12:00:06 -07:00