Commit Graph

86 Commits

Author SHA1 Message Date
Bharat Mediratta
1e90e40d3a Use events to generate menus, instead of having xxx_menu helpers.
This is the first step towards having a simple, lightweight and
unified API for module interaction.
2009-07-28 13:47:22 -07:00
Tim Almdal
ecc9203c23 Standardize the specification of tags.
With this patch a comma(,) is the only valid tag separator.  Spaces
are allowed in tags and phrases no longer need to be specified with a
dot.

Signed-off-by: Tim Almdal <tnalmdal@shaw.ca>
2009-07-28 06:28:31 +08:00
Bharat Mediratta
3b7855010f Reduce import logging to errors only to reduce the size of the logs.
Excessive logging results in a very slow import.
2009-07-18 16:07:28 -07:00
Bharat Mediratta
5b3b675b6d Non-trivial changes to the event handling code:
1) The item_updated event no longer takes the old and new items.
   Instead we overload ORM to track the original data and make
   that available via the item.  This will allow us to move event
   publishing down into the API methods which in turn will give us
   more stability since we won't require each controller to remember
   to do it.

2) ORM class now tracks the original values.  It doesn't track
   the original relationships (no need for that, yet)

3) Added new events:
     item_deleted
     group_deleted
     user_deleted
2009-07-16 11:19:34 -07:00
Bharat Mediratta
7de339a676 Remove extra debug statements. 2009-07-14 16:10:37 -07:00
Bharat Mediratta
e2a9a1d284 Add quotes around all values that contain spaces in them, and add a
test to make sure that we continue to do so.

This makes sure that we don't have problems with 5.3 which treats the
literal "on" as a boolean.
2009-07-13 10:36:55 -07:00
Tim Almdal
67d78e8d58 Correct the pattern match to compress multiple spaces into a single
dot.
2009-07-09 21:41:59 -07:00
Tim Almdal
512f22a600 Change the tag importer to convert spaces to a dot in multi word tags. 2009-07-09 17:18:58 -07:00
Tim Almdal
72ebc2fb34 Merge branch 'master' of git@github.com:gallery/gallery3
Conflicts:
	modules/g2_import/helpers/g2_import.php
2009-07-07 12:17:38 -07:00
Tim Almdal
b0cd0a52be Allow the task::log method to take an array of lines and change g2_import.php
helper to use this approach.
2009-07-07 12:10:50 -07:00
Bharat Mediratta
4e0848a1a5 Clean up some indentation. 2009-07-07 11:22:13 -07:00
Tim Almdal
b59e94e7dc Change references to Gallery 2 and Gallery 3 to consistently refer to
Gallery n as opposed any variants of this.
2009-07-07 07:32:36 -07:00
Tim Almdal
6588f3bbd1 Change wording of failed to import tags to make it consistent with the other failed import messages. Thanks shai 2009-07-06 21:46:50 -07:00
Tim Almdal
dfc704516a correct spacing in a message. thanks shai 2009-07-06 21:10:59 -07:00
Tim Almdal
dff0ffc4f5 Fix for tickets #312 and #370. Added a task logging api. Changed g2_import
to write all activity to the "log file".  The "log file" is stored in the
persistent cache.
2009-07-06 20:05:35 -07:00
Tim Almdal
85de208879 Lets try the BBCode conversion again... go with basic tags even if some are
deprecated.
2009-07-04 20:30:13 -07:00
Tim Almdal
50462edd9c Change the BBCode Transformation to use the <span class=""> where possible 2009-07-04 17:14:21 -07:00
Tim Almdal
799d82fd6a Revert "Change the bbcode transformation to more standard tags that can be"
This reverts commit 4ba022438e.
2009-07-04 17:01:47 -07:00
Tim Almdal
4ba022438e Change the bbcode transformation to more standard tags that can be
easily style via css
2009-07-04 16:18:48 -07:00
Tim Almdal
cf279fc315 Fix for #364 = G2 Import Doesn't support markup
Create a _transform_bbcode which coverts the g2 bbcode to html.
The html won't be rendered until ticket #400 is implemented as
pclean() excapse the html
2009-07-03 08:14:28 -07:00
Tim Almdal
adb820e37c Fix for ticket #359 and a partial fix for ticket #345.
In G2, text strings have the &, ", < and > replaced by &amp;, &quote;,
&lt; and &gt; respectively.  Created the _decode_html_special_chars
method in helpers/g2_import.php to revert these character strings.
2009-07-02 20:48:47 -07:00
Tim Almdal
1c9dee93de Fix for ticket #390.
Added a call to GalleryCoreApi::fetchItemViewCounts to retrieve the gallery2
view counts forthe imported items.
2009-07-02 09:54:50 -07:00
Tim Almdal
a13ddfea8f Suppress the filesize error if the thumbnail is not found so we can get
an EMPTY_INPUT_FILE exception which we can then log and continue.
2009-07-02 07:53:24 -07:00
Tim Almdal
7bc40fd315 Start of fixing a problem with importing movies w/o a thumbnail 2009-07-01 23:14:01 -07:00
Tim Almdal
6f3ec5f039 Fix for ticket #357.
Changed the set the created date as part of the import and change
models/comment::save() to not set the creation date if it is already
set.
2009-07-01 22:18:52 -07:00
Bharat Mediratta
050c5a0383 Unlink the old rewritten path files in var/modules/g2_import when we
validate the embed path.  This resolves an issue with b1 installs
which had versions of the rewritten code that were buggy and can be
replaced.
2009-06-30 17:58:33 -07:00
Bharat Mediratta
53284ec5b8 Add support for Gallery 2.2.2 style bootstrap syntax. 2009-06-23 18:39:00 -07:00
Bharat Mediratta
2a190660ba Gracefully handle the case when the gallery2 instances moves somewhere
else (or gets deleted).

Fixes ticket #458
2009-06-23 17:09:37 -07:00
Bharat Mediratta
bfca0c7903 Refactor the install/upgrade code to be more flexible.
Add xxx_installer::upgrade($version) method so that upgrade stanzas
are separate from install stanzas.  In the old code, to do an upgrade
meant that you had to re-evolve everything from the initial install
because we'd step through each version's changes.  But what we really
want is for the initial install to start off in the perfect initial
state, and the upgrades to do the work behind the scenes.  So now the
install() function gets things set up properly the first time, and the
upgrade() function does any work to catch you up to the latest code.
See gallery_installer.php for a good example.
2009-06-23 12:00:49 -07:00
Bharat Mediratta
8383ea9827 Keywords in G2 are free form. So we don't know what our user used as a separator. Try to
be smart about it.  If we see a comma or a semicolon, expect the keywords to be separated
by that delimeter.  Otherwise, use space as the delimiter.

Fixes ticket #446
2009-06-20 16:55:09 -07:00
Bharat Mediratta
b72d0db7be More minor facelift for the admin/g2_import page. 2009-06-19 15:56:55 -07:00
Bharat Mediratta
feab9cfc34 Give the admin/g2_import page a facelift. 2009-06-19 13:47:38 -07:00
Bharat Mediratta
b999b35d24 Swap the order of two lines to make the debug output have the right data. 2009-06-19 10:30:59 -07:00
Bharat Mediratta
cdb02c10a4 Make an attempt to catch all situations where loading an item from G2
returns an error, and log them appropriately.  This should fix a slew
of import failures from corrupt G2 installs.
2009-06-18 12:24:33 -07:00
Bharat Mediratta
b8c68ce2f9 Don't try to require GalleryCommentHelper.class if the module is not
active, since the code may not even be present.  This assumes that if
the G2 comment module *is* active that the code is present, but that's
part of the assumption that the G2 we're importing from is healthy.

Fixes ticket #409
2009-06-15 19:59:46 -07:00
Bharat Mediratta
dc3ed06cd7 Trap gallery2 errors when we try to load an invalid user id and abort loading that user. 2009-06-14 12:43:06 -07:00
Bharat Mediratta
d95fcb189f Add a warning about eAccelerator interfering with g2_import. 2009-06-13 17:15:32 -07:00
Bharat Mediratta
e076433383 Support imports from multisite G2 installs. 2009-06-12 18:08:14 -07:00
Bharat Mediratta
6749a835e7 Work around different initialization code in earlier versions of Gallery 2. 2009-06-12 12:00:09 -07:00
Bharat Mediratta
0b23433d94 Rename theme_details to theme_options. These changes got left out of
68fd196d66 leaving us in a temporarily
broken state.
2009-06-11 12:50:50 -07:00
Bharat Mediratta
ae2fb806c7 Trap exceptions from movie::create() and mark those movies as corrupt. 2009-06-11 12:48:36 -07:00
Bharat Mediratta
c7aafef852 Improve error handling support for corrupt images and report them
appropriately in g2_import.
2009-06-07 17:48:42 -07:00
Bharat Mediratta
43abcd9386 Security pass over all controller code. Mostly adding CSRF checking
and verifying user permissions, but there are several above-the-bar
changes:

1) Server add is now only available to admins.  This is a hard
   requirement because we have to limit server access (eg:
   server_add::children) to a user subset and the current permission
   model doesn't include that.  Easiest fix is to restrict to admins.
   Got rid of the server_add permission.

2) We now know check permissions at every level, which means in
   controllers AND in helpers.  This "belt and suspenders" approach will
   give us defense in depth in case we overlook it in one area.

3) We now do CSRF checking in every controller method that changes the
   code, in addition to the Forge auto-check.  Again, defense in depth
   and it makes scanning the code for security much simpler.

4) Moved Simple_Uploader_Controller::convert_filename_to_title to
   item:convert_filename_to_title

5) Fixed a bug in sending notification emails.

6) Fixed the Organize code to verify that you only have access to your
   own tasks.  In general, added permission checks to organize which had
   pretty much no validation code.

I did my best to verify every feature that I touched.
2009-06-01 22:40:22 -07:00
Bharat Mediratta
1a095fffe5 Prepend all code files we copy from Gallery2 and put into var with our
code preamble for security.

Update File_Structure_Test::code_files_start_with_preamble_test to
check all the php files in var, too.
2009-05-28 02:19:53 -07:00
Bharat Mediratta
6fdc84f5de Get rid of entire gallery2 session id param from the urls that we use to alert
users about images that failed to import.
2009-05-28 01:45:39 -07:00
Bharat Mediratta
3870892018 Commit an egregious hack to work around the fact that both Gallery 2
and Gallery 3 have a class named Gallery.  Clone a subset of the
Gallery 2 files and munge them so that we can rename the Galery 2
version to G2_Gallery.

Also, update the disclaimer in Admin > Settings > Gallery 2 Import.
2009-05-27 22:57:38 -07:00
Bharat Mediratta
88a3d43ba9 Update all references to the core application to now point to the
gallery module.  This type of mass update is prone to some small bugs.
2009-05-27 16:17:29 -07:00
Bharat Mediratta
7aed923908 Restructure the module lifecycle.
Install: <module>_installer::install() is called, any necessary tables
are created.

Activate: <module>_installer::activate() is called.  Module
controllers are routable, helpers are accessible, etc.  The module is
in use.

Deactivate: <module>_installer::deactivate() is called.  Module code
is not accessible or routable.  Module is *not* in use, but its tables
are still around.

Uninstall: <module>_installer::uninstall() is called.  Module is
completely removed from the database.

Admin > Modules will install and activate modules, but will only
deactivate (will NOT uninstall modules).
2009-05-26 05:28:59 +00:00
Bharat Mediratta
dc3df4d6ac Don't import non-viewable image types (eg: psd). Swap in a broken
image instead so that we at least have a target for comments.

Fixes ticket #294
2009-05-20 04:25:10 +00:00
Bharat Mediratta
170e9d6462 Import album highlights. Fixes ticket #221. 2009-05-19 07:31:21 +00:00