115 Commits

Author SHA1 Message Date
Penny Leach
a1e1af19ef portfolio MDL-16124 improved the portfolio_formats conflict resolution 2010-03-21 17:19:56 +00:00
Penny Leach
29fc57afa5 portfolio/leap2a MDL-21030 fixed a syntax problem in category schemes 2010-03-21 17:19:42 +00:00
David Mudrak
16be897441 MDL-21652 html_table rendering refactored
* class html_component does not exist any more
* class html_table rendered via html_writer::table()
* html_table, html_table_row and html_table_cell have public $attributes property to set their CSS classes
* dropped rotateheaders feature, should be added again after more research of possible ways (<svg> is not nice IMHO)
* dropped possibility to define CSS classes for table heading, body and footer - can be easily done and better done using just table class and context
2010-03-20 22:15:54 +00:00
Penny Leach
50938e30b8 portfolio MDL-21878 fixed image export format conflicts 2010-03-20 13:14:02 +00:00
Dan Poltawski
3c29e96a77 portfolio MDL-20896 - update documentation to not lie ;-) 2010-03-20 10:41:07 +00:00
Penny Leach
549c1ae680 portfolio MDL-21508 fixed broken forum attachment export
- fixed a lot of logic in the format conflict stuff
- fixed a very specific bug in forum export when exporting a single
  attachment.
2010-03-16 19:07:53 +00:00
Penny Leach
491fff6497 portfolio/leap MDL-21030 fixed a namespace problem in the leap2a relationships 2010-03-01 13:45:05 +00:00
Penny Leach
fba249c9c5 portfolio/leap MDL-21030 fixed a namespace problem in the leap2a relationships 2010-02-26 14:13:18 +00:00
Penny Leach
b8824f38e4 portfoli MDL-21699 workaround for php 5.3 reference changes in call_user_func 2010-02-23 11:25:32 +00:00
Penny Leach
287efec6f6 mnet MDL-21276 get rid of all the $MNET* globals 2010-02-02 03:13:40 +00:00
Penny Leach
de260e0f7b mnet MDL-21261 large overhaul. This commit changes:
- The way that mnet rpc functions are registered.  Plugins must now
  create db/mnet.php which is an array, similar to services.php.  This
  *replaces* the old mnet_publishes() functions.  version.php must be
  bumped to trigger this.

- More information about each rpc-available function is stored in the
  database, including the class it belongs to, the file it is found in,
  and whether or not it is static.  Methods that are not static must be
  in a class with a constructor that takes no arguments (this can easily
  be achieved with a small wrapper if necessary)

- The xmlrpc dispatcher has been rewritten to remove all the
  dependencies on hardcoded information about auth,mnet,portfolio and
  repository, and just use the information in the database.

- The old hardcoded hidden mnet/testclient.php has been moved to the
  Admin menu under "Development" and rewritten.

- The xmlrpc introspection method profiling is now using php and zend
  reflection - which is a lot nicer than the old way, which was using a
  php-based php parser.  This fixes some inconsistent handling of
  methods without arguments that were advertising their return value as
  the only method parameter.  While this is a *fix*, it breaks BC
  slightly - the old 1.9 broken mnet/testclient.php will now not work
  properly with 2.0

- Dangerous mode is still supported, but old mod/*/rpclib.php is
  now unsupported, due to the fact that any plugin can export mnet
  functions with db/mnet.php.  This is a slight BC break.

Still TODO:

- TEST TEST TEST
- Document the two small BC breaks in release notes
- Document the contract for db/mnet.php
2010-01-28 05:25:50 +00:00
Penny Leach
6a2640d239 NOTABUG updated the portfolio plugin baseclass method signatures 2010-01-28 05:12:22 +00:00
Penny Leach
82e8d268de portfolio MDL-21156 added a missing lang string and removed a too strict exception 2010-01-04 03:20:48 +00:00
Penny Leach
8192522e63 portfolio: MDL-21156 portfolio export format specific pluginfile handling 2009-12-18 13:44:35 +00:00
Penny Leach
ed986e0082 portfolio: MDL-21030 added helper function to add multiple attachments 2009-12-18 13:44:23 +00:00
Penny Leach
521a6ab04d portfolio MDL-20896 added the ability to set mime info for "intended" files
This means for places in Moodle that are going to write a file, like a
CSV file, they can set the intended mimetype of the generated file.

Previously you had to use a stored_file object.

This also gets rid of portfolio_fake_add_url function and replaces the
data module implementation with a button.  I also refactored
portfolio_add_button::to_html to use moodle_url so it's easy to return
the same parameters to hidden form fields, an escaped url (for a link),
and a non escaped url (to redirect to, which is what the data module
does)
2009-12-15 12:36:49 +00:00
Penny Leach
24ba58ee9a portfolio MDL-21079 be more selective about including libraries.
this involves moving all formslib includes to where they're actually needed.
it also moves the portfolio stuff from assignment,data,chat,forum and glossary
into a locallib.php which involved creating it for many of those modules.
2009-12-12 11:27:07 +00:00
Penny Leach
bce9a8198f portfolio/leap2a MDL-21036 & MDL-21034 : use proper date format in leap2a, and updated forum to use it 2009-12-05 09:42:42 +00:00
Penny Leach
59dd457e4b portfolio: MDL-21030 - leap2a portfolio format support.
This commit includes:

- leap2a portfolio format, and xml writer
- proof of concept implementation in forum and assignment modules
- a lot of refactoring of the portfolio formats in general:
    - addition of "abstract" formats - this is necessary for plugins to be able to support groups of formats
    - addition of the idea of portfolio formats conflicting with eachother - eg richhtml & plainhtml

it touches modules other than assignment and forum, because the format api
changed and now each place in moodle that exports portfolio content has to deal
with the formats it supports slightly differently.

At the moment the Mahara portfolio still doesn't support this format, because I
haven't done the Mahara side yet. The "file download" plugin supports it
though.

Still todo:

- Add support for the other places in Moodle (glossary, data, etc)
- Write tests, once the rest of the portfolio tests have been updated to use the new DB mocking stuff
- Fix a bunch of TODOs
2009-12-03 14:26:37 +00:00
Penny Leach
40d6bc4825 portfolio NOBUG added some more helpful debugging information about common formats 2009-11-19 07:02:15 +00:00
Dan Poltawski
a9ec903149 portfolio: MDL-20897 Add additional format types
Added new specific formats for PDF, Document, Presentation and Spreadsheet

Allow the googledocs plugin to support all these formats
2009-11-18 17:33:19 +00:00
Penny Leach
887160c7cb portfolio MDL-20896 added mimetype checking for portfolio plugins for single-file exports 2009-11-18 15:34:58 +00:00
Penny Leach
edf1fc350a portfolio: MDL-20892 moved portfolio/type/* plugins to portfolio/* 2009-11-18 13:27:38 +00:00
Penny Leach
5d0dbf130d portfolio MDL-20872 elegant handling of cleanup/display race condition
lots of work to elegantly resolve the issue between interactive browser
sessions and "pull" portfolio plugins that cause a race condition where we lose
the ability to display information to the user if the pull cleans up the export
first.  this also improves the portfolio transfer log display for later
2009-11-18 12:27:15 +00:00
Penny Leach
a67dc2746a portfolio: MDL-20872 - detect the case where a plugin has pulled the file before the user's browser is redirected gracefully 2009-11-18 10:09:48 +00:00
Penny Leach
c95a609597 Portfolio MDL-19356 removal of session reliance completely.
For plugins that don't support it, we can work around the external
redirect issue by returning to a special url.

This also adds on selective cancelling/continuing of current exports.

It needs a lot of testing, but seems to be working reasonably well.

Some plugins need updating now, however
2009-11-17 14:01:25 +00:00
Penny Leach
f1d2641df6 portfolio: MDL-20850 fixed some navigation/output 2009-11-17 14:01:06 +00:00
Penelope Leach
e1b9ac3ef8 portfolio - MDL-19356 - add instance column to portfolio_tempdata
this is the first step in moving towards supporting multiple exports per session.

however, some plugins aren't going to be able to support this (eg box.net) so
we add the instance to the tempdata table, so that we can quickly check whether
we have an export of the same *type* of plugin in the session.
2009-11-16 15:02:52 +00:00
Penelope Leach
384ba38af4 portfolio - MDL-19356 - rename allows_multiple to allows_multiple_instances
this disambiguates, so we can have a function called allows_multiple_exports
2009-11-16 12:57:59 +00:00
Penelope Leach
086831a67c NOBUG - Added a bunch more phpdocs to the portfolio code 2009-11-16 12:57:15 +00:00
Petr Skoda
4a0e2e632f MDL-20700 coding style cleanup - cvs keywords removed, closign php tag removed, trailing whitespace cleanup 2009-11-01 11:42:23 +00:00
skodak
d18e0fe646 MDL-20353 adding missing data types of hidden form fields 2009-09-26 17:07:08 +00:00
samhemelryk
de6d81e667 admin MDL-19799 Upgraded print_header and build_navigation calls to use PAGE and OUTPUT equivilants 2009-09-03 06:59:25 +00:00
nicolasconnault
642816a60c MDL-19799 upgraded calls to print_table, print_single_button, print_user_picture, print_container* and notice_yesno 2009-08-20 08:50:50 +00:00
nicolasconnault
aa9a686740 MDL-19799 Upgraded calls to helpbutton, print_simple_box* and notify 2009-08-18 05:20:12 +00:00
nicolasconnault
7e0d66753e MDL-19799 Converted all print_footer() calls 2009-08-06 14:21:34 +00:00
nicolasconnault
3c15938527 MDL-19799 Migrated calls to print_heading 2009-08-06 08:19:21 +00:00
mjollnir_
bcb39ec9e9 portfolio: removing suplerfluous error_log i forgot to remove earlier. 2009-06-09 19:54:22 +00:00
mjollnir_
766d61cbb8 portfolio: MDL-19358 and MDL-19354 added sesskey() protection when first initating a portfolio export; verify callback class is part of the portfolio_caller_base hierarchy; re-check permissions in the caller when waking up the portfolio exporter object (between requests) 2009-06-01 17:06:28 +00:00
mjollnir_
4c7a4ef9df MDL-18734 - documentation and coding style in portfolio/*
Added much needed documentation to the portfolio "scripts" (the libs are all
fine), and moved all parameter fetching from the body of the file to the top.
2009-05-02 13:23:22 +00:00
mjollnir_
ea95cf9c05 MDL-16520 portfolio: when an exception happens, kill the active export 2009-03-01 11:01:57 +00:00
skodak
11e7b506ce MDL-17754, MDL-11061, MDL-9276, MDL-17777, MDL-17787 - various url handling improvemetns; rewritten $FULLME and added $ME, $SCRIPT and $FULLSCRIPT; improved slashargument handling especially for IIS; removed legacy slasharguments functions obsoleted since 1.6; some other refactoring; reverse procy support, ssl appliance support 2009-01-05 21:37:20 +00:00
skodak
a91b910e4f MDL-17776 added new define CLI_SCRIPT that identifies all CLI scripts + cron (cli scripts do not have session and do not like HTML in output and are executed from command line, cron is an exception) 2009-01-03 14:28:02 +00:00
mjollnir_
d9c2628b58 MDL-16861 portfolio/export make sure to zip up files including the path info 2008-11-11 18:52:10 +00:00
nicolasconnault
a55d94d4ac MDL-16341 Almost finished portfolio flickr plugin. Modified phpflickr->request method so it can upload files, but having permission issue (only read) 2008-10-25 13:35:20 +00:00
mjollnir_
5836bac7a4 MDL-16587: portfolio/caller base class - be more defensive when asked to do things with files 2008-10-13 10:12:05 +00:00
mjollnir_
6be1dcae99 MDL-16587 bit of a large refactor of the portfolio formats. still more to come. 2008-10-11 17:33:20 +00:00
poltawski
d02b207a21 MDL-16572 - avi files were not detected as PORTFOLIO_FORMAT_VIDEO 2008-09-18 21:17:18 +00:00
mjollnir_
06844b49f4 MDL-16535 - better handling of the expired error 2008-09-16 18:17:28 +00:00
mjollnir_
c737eed82f MDL-16535 - nicer messages about invalid exports 2008-09-16 17:50:55 +00:00