Commit graph

45 commits

Author SHA1 Message Date
Mark Nelson
43d20c0d1b Huge refactor
1) Every certificate is a template. Before a user would create a certificate then had
the option to save it as a template. This could potentially be chaotic with numerous
users creating templates, making the template system a mess. Now, rather than creating
a certificate first, then saving it as a template, you are always creating a template.
Each template is associated with a context, so depending on where you are creating it
the context is different. This means users in the CONTEXT_MODULE context are creating
a template specific to that module, where as a user creating a template in the
CONTEXT_SYSTEM context would be creating a general template that can be used by others.
This meant we can remove the 'customcert_template_*' db tables. Yay - no duplicated
tables.
2) Created new helper classes and moved functionality there.
3) Moved files to classes/ for autoloading.
4) General tidy up.
2016-02-20 16:35:19 +08:00
Shamim Rezaie
9998fa2b4a Added drag & drop feature to rearrange elements 2015-08-05 14:19:55 -05:00
Mark Nelson
25171d1703 Fixed issue deleting customcerts 2015-03-13 23:44:37 -07:00
Mark Nelson
6821122c30 Aligned SQL to conform to Moodle standards 2015-03-13 23:37:06 -07:00
Mark Nelson
7a2675e889 Moved internal functions to locallib.php 2015-03-13 23:37:06 -07:00
Mark Nelson
4b2692d377 Images can now be saved into either the course or system context 2013-09-09 17:10:37 +08:00
Mark Nelson
cee65c6c37 Introduced check before sorting to ensure core_collator class exists as it was only introduced in 2.6 2013-07-26 17:25:55 +08:00
Mark Nelson
8b92d1c307 Removed the orientation field as it is redundant considering the width and height are already specified
Note: I did not create a db/upgrade.php script to remove the database column as this module should not be currently used by anyone.
2013-07-25 18:54:28 +08:00
Mark Nelson
23d611de1b Added ability to print out a grid PDF so that the user knows where to specify the placement of elements 2013-07-25 18:36:43 +08:00
Mark Nelson
04cf229d16 Some trivial changes to lib.php to conform to Moodle coding guidelines 2013-07-25 13:08:17 +08:00
Mark Nelson
65adabe9d9 Replaced usage of deprecated class 2013-07-25 13:08:16 +08:00
Mark Nelson
5203d81980 Changed PHPDocs and added date to the copyright to match Moodle coding guidelines 2013-07-22 13:06:18 +08:00
Mark Nelson
e811303e84 Passed a new variable 'preview' to the render function
This variable determines whether we are viewing the custom certificate for a particular user, or if we are simply previewing it. This may be needed for some elements. For example, an element may retrieve the data for when the custom certificate was issued, but if the user has just set up the custom certificate and no issue has been created then this data is missing, so in this case we pass that the user is previewing the custom certificate so other data can be shown.
2013-06-28 15:27:04 +08:00
Mark Nelson
96e1d93024 Renamed the element directory name to a singular to conform to Moodle standards 2013-06-21 17:35:14 +08:00
Mark Nelson
69bc06bbee Adjusted query so that it works in MySQL 2013-06-20 14:42:58 +08:00
Mark Nelson
b3a767d151 Removed unused variable 2013-06-14 12:47:36 +08:00
Mark Nelson
a26f0c2c66 Tidied up the PHPDocs and set the base element to an abstract class 2013-06-12 19:13:16 +08:00
Mark Nelson
7500bfda26 Changed the class names so that they match the directory structure 2013-06-12 16:23:08 +08:00
Mark Nelson
fa5d45eef3 Completely refactored the code for editing a custom certificate
The elements for each page are listed in a table below the other page settings, meaning each page has a separate table for listing their elements. Each element is now edited in a pop-up, rather than having all the element settings displayed at once on the form causing it to look overcrowded. There is also no longer any need for the function add_element to add default values for the elements when they are added, as a a form is shown when you click to add an element where you can enter the values before it is created.

Note: I did not create a db/upgrade.php script to add the new database columns as this module should not be currently used by anyone.
2013-06-07 16:04:38 +08:00
Mark Nelson
f7029178ad Sorted the elements alphabetically 2013-06-06 11:14:06 +08:00
Mark Nelson
59ea1afd75 Removed unnecessary second parameter for the render function 2013-06-06 11:14:06 +08:00
Mark Nelson
4a185540e2 Added a CSS class to centre the download button and report table to stop the use of deprecated attributes and also added full-stops to comments 2013-06-06 11:14:01 +08:00
Mark Nelson
35851b204c Removed unused variables and altered comments 2013-05-30 17:59:53 +08:00
Mark Nelson
0dc1ef19c9 Introduced an image element and refactored the code in the process so less code was required in the new element 2013-05-30 17:55:40 +08:00
Mark Nelson
33a711b240 Removed unnecessary line of code 2013-05-28 17:41:40 +08:00
Mark Nelson
60ba77d562 Removed usages of deprecated function 2013-05-28 17:00:07 +08:00
Mark Nelson
516506e8f1 Corrected PHPDocs 2013-05-28 16:56:09 +08:00
Mark Nelson
8350c4afbf Introduced basic reporting functionality 2013-05-22 19:37:39 +08:00
Mark Nelson
a513ba8038 Added functionality to preview the custom certificate 2013-05-17 11:09:22 +08:00
Mark Nelson
4962b72938 The first page is now created when the customcert instance is added and the button to create new pages has been moved 2013-05-16 18:27:58 +08:00
Mark Nelson
c0d081f849 Added the ability to specify the PDF protection
Note: I did not create a db/upgrade.php script to add the new database column as this module should not be currently used by anyone.
2013-05-16 13:21:12 +08:00
Mark Nelson
2b92220c73 Set the default values for each page to the dimensions of an A4 piece of paper 2013-05-16 13:17:42 +08:00
Mark Nelson
d7174ce3c8 Introduced functionality to save and load customcert templates
Note: I did not create a db/upgrade.php script to add the new database tables as this module should not be currently used by anyone.
2013-05-16 13:17:34 +08:00
Mark Nelson
47b79abf6c Added spacing around '=>' 2013-04-26 16:41:08 +08:00
Mark Nelson
9e36732d5f Updated package and removed subpackage from PHPDocs 2013-04-26 15:39:59 +08:00
Mark Nelson
95688dd064 Included missing global values needed in function 2013-04-12 17:33:23 +08:00
Mark Nelson
0bc2e186e6 Added the ability to change the order the customcert elements are displayed
Note: I did not create a db/upgrade.php script to add the new database column as this module should not be currently used by anyone.
2013-04-12 17:33:23 +08:00
Mark Nelson
3e446120d2 Fixed the function responsible for returning a list of fonts available 2013-04-11 19:06:18 +08:00
Mark Nelson
7451ab20ba Introduced the function responsible for generating the PDF 2013-04-11 16:59:29 +08:00
Mark Nelson
8b3954cea7 Updated the code responsible for preventing internal access to certain files 2013-04-10 17:18:00 +08:00
Mark Nelson
31168708bb Added a view.php file 2013-04-09 17:31:36 +08:00
Mark Nelson
08c4f03ee7 Fixed issue where elements for the customcert page with the id 1 were being displayed (if it existed) for newly created customcerts 2013-04-09 13:27:55 +08:00
Mark Nelson
52fbc108a7 Introduced a new form element for selecting a colour on the customcert customisation page 2013-02-25 22:52:15 +08:00
Mark Nelson
9d0eb727e5 Introduced customisable elements to the customcert
Elements are sub-plugins that have the same abilities as a core plugin, such as creating tables, capabilities and performing upgrades.

Currently elements can define -

* What additional form elements are rendered when adding the element to the customcert customisation page.
* How the data from the additional form elements is validated and saved.
* How the element is rendered on the PDF.
* How the element handles removing data when it is deleted.
2013-02-21 18:23:11 +08:00
Mark Nelson
2b8403438f Module will install successfully with limited functionality
The module will add tables to the DB on install, you can then add/edit instances and add/edit pages to these instances.
2013-02-18 11:48:16 +08:00