<?php define('INTERNAL', 1); define('MENUITEM', 'content/milestones'); define('SECTION_PLUGINTYPE', 'artefact'); define('SECTION_PLUGINNAME', 'milestones'); require dirname(dirname(dirname(__FILE__))) . '/init.php'; safe_require('artefact', 'milestones'); if (!PluginArtefactMilestones::is_active()) { throw new AccessDeniedException(get_string('plugindisableduser', 'mahara', get_string('milestones', 'artefact.milestones'))); } $id = param_integer('id', 0); if ($id) { $milestone = new ArtefactTypeMilestone($id); if (!$USER->can_edit_artefact($milestone)) { throw new AccessDeniedException(get_string('accessdenied', 'error')); } define('TITLE', get_string('newfact', 'artefact.milestones')); $form = ArtefactTypeFact::get_form($id); } else { define('TITLE', get_string('newmilestone', 'artefact.milestones')); $form = ArtefactTypeMilestone::get_form(); } $smarty =& smarty(); $smarty->assign_by_ref('form', $form); $smarty->assign_by_ref('PAGEHEADING', hsc(TITLE)); $smarty->display('artefact:milestones:new.tpl');
public static function submit(Pieform $form, $values) { global $USER, $SESSION; $new = false; if (!empty($values['milestone'])) { $id = (int) $values['milestone']; $artefact = new ArtefactTypeMilestone($id); } else { $artefact = new ArtefactTypeMilestone(); $artefact->set('owner', $USER->get('id')); $new = true; } $artefact->set('title', $values['title']); $artefact->set('description', $values['description']); if (get_config('licensemetadata')) { $artefact->set('license', $values['license']); $artefact->set('licensor', $values['licensor']); $artefact->set('licensorurl', $values['licensorurl']); } $artefact->set('tags', $values['tags']); $artefact->commit(); $SESSION->add_ok_msg(get_string('milestonesavedsuccessfully', 'artefact.milestones')); if ($new) { redirect('/artefact/milestones/milestone.php?id=' . $artefact->get('id')); } else { redirect('/artefact/milestones/index.php'); } }
<?php define('INTERNAL', 1); define('JSON', 1); require dirname(dirname(dirname(__FILE__))) . '/init.php'; safe_require('artefact', 'milestones'); $limit = param_integer('limit', 10); $offset = param_integer('offset', 0); $milestones = ArtefactTypeMilestone::get_milestones($offset, $limit); ArtefactTypeMilestone::build_milestones_list_html($milestones); json_reply(false, (object) array('message' => false, 'data' => $milestones));
<?php define('INTERNAL', true); define('MENUITEM', 'content/milestones'); require_once dirname(dirname(dirname(dirname(__FILE__)))) . '/init.php'; require_once 'pieforms/pieform.php'; require_once 'pieforms/pieform/elements/calendar.php'; require_once get_config('docroot') . 'artefact/lib.php'; safe_require('artefact', 'milestones'); if (!PluginArtefactMilestones::is_active()) { throw new AccessDeniedException(get_string('plugindisableduser', 'mahara', get_string('milestones', 'artefact.milestones'))); } define('TITLE', get_string('editmilestone', 'artefact.milestones')); $id = param_integer('id'); $artefact = new ArtefactTypeMilestone($id); if (!$USER->can_edit_artefact($artefact)) { throw new AccessDeniedException(get_string('accessdenied', 'error')); } $editform = ArtefactTypeMilestone::get_form($artefact); $smarty = smarty(); $smarty->assign('editform', $editform); $smarty->assign('PAGEHEADING', hsc(get_string("editingmilestone", "artefact.milestones"))); $smarty->display('artefact:milestones:edit.tpl');
private static function create_milestone(SimpleXMLElement $entry, PluginImportLeap $importer) { // First decide if it's going to be a milestone or a fact depending // on whether it has any ancestral milestones. if (self::get_ancestor_entryid($entry, $importer)) { $artefact = new ArtefactTypeFact(); } else { $artefact = new ArtefactTypeMilestone(); } $artefact->set('title', (string) $entry->title); $artefact->set('description', PluginImportLeap::get_entry_content($entry, $importer)); $artefact->set('owner', $importer->get('usr')); if (isset($entry->author->name) && strlen($entry->author->name)) { $artefact->set('authorname', $entry->author->name); } else { $artefact->set('author', $importer->get('usr')); } if ($published = strtotime((string) $entry->published)) { $artefact->set('ctime', $published); } if ($updated = strtotime((string) $entry->updated)) { $artefact->set('mtime', $updated); } $artefact->set('tags', PluginImportLeap::get_entry_tags($entry)); // Set completiondate and completed status if we can find them if ($artefact instanceof ArtefactTypeFact) { $namespaces = $importer->get_namespaces(); $ns = $importer->get_leap2a_namespace(); $dates = PluginImportLeap::get_leap_dates($entry, $namespaces, $ns); if (!empty($dates['target']['value'])) { $completiondate = strtotime($dates['target']['value']); } $artefact->set('completiondate', empty($completiondate) ? $artefact->get('mtime') : $completiondate); if ($entry->xpath($namespaces[$ns] . ':status[@' . $namespaces[$ns] . ':stage="completed"]')) { $artefact->set('completed', 1); } } $artefact->commit(); return array($artefact->get('id')); }