public static function render_instance(BlockInstance $instance, $editing = false) { global $exporter; require_once get_config('docroot') . 'artefact/lib.php'; safe_require('artefact', 'milestones'); $configdata = $instance->get('configdata'); $smarty = smarty_core(); if (isset($configdata['artefactid'])) { $milestone = artefact_instance_from_id($configdata['artefactid']); $facts = ArtefactTypeFact::get_facts($configdata['artefactid']); $template = 'artefact:milestones:factrows.tpl'; $blockid = $instance->get('id'); if ($exporter) { $pagination = false; } else { $baseurl = $instance->get_view()->get_url(); $baseurl .= (false === strpos($baseurl, '?') ? '?' : '&') . 'block=' . $blockid; $pagination = array('baseurl' => $baseurl, 'id' => 'block' . $blockid . '_pagination', 'datatable' => 'facttable_' . $blockid, 'jsonscript' => 'artefact/milestones/viewfacts.json.php'); } ArtefactTypeFact::render_facts($facts, $template, $configdata, $pagination); if ($exporter && $facts['count'] > $facts['limit']) { $artefacturl = get_config('wwwroot') . 'artefact/artefact.php?artefact=' . $configdata['artefactid'] . '&view=' . $instance->get('view'); $facts['pagination'] = '<a href="' . $artefacturl . '">' . get_string('allfacts', 'artefact.milestones') . '</a>'; } $smarty->assign('description', $milestone->get('description')); $smarty->assign('owner', $milestone->get('owner')); $smarty->assign('tags', $milestone->get('tags')); $smarty->assign('facts', $facts); } else { $smarty->assign('nomilestones', 'blocktype.milestones/milestones'); } $smarty->assign('blockid', $instance->get('id')); return $smarty->fetch('blocktype:milestones:content.tpl'); }
<?php define('INTERNAL', 1); define('JSON', 1); require dirname(dirname(dirname(__FILE__))) . '/init.php'; safe_require('artefact', 'milestones'); $milestone = param_integer('id'); $limit = param_integer('limit', 3); $offset = param_integer('offset', 0); if (!$USER->can_edit_artefact(new ArtefactTypeMilestone($milestone))) { json_reply(true, get_string('accessdenied', 'error')); } $facts = ArtefactTypeFact::get_facts($milestone, $offset, $limit); ArtefactTypeFact::build_facts_list_html($facts); json_reply(false, (object) array('message' => false, 'data' => $facts));
<?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('editfact', 'artefact.milestones')); $id = param_integer('id'); $fact = new ArtefactTypeFact($id); if (!$USER->can_edit_artefact($fact)) { throw new AccessDeniedException(get_string('accessdenied', 'error')); } $form = ArtefactTypeFact::get_form($fact->get('parent'), $fact); $smarty = smarty(); $smarty->assign('editform', $form); $smarty->assign('PAGEHEADING', hsc(get_string("editingfact", "artefact.milestones"))); $smarty->display('artefact:milestones:edit.tpl');
<?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; if (!empty($values['fact'])) { $id = (int) $values['fact']; $artefact = new ArtefactTypeFact($id); } else { $artefact = new ArtefactTypeFact(); $artefact->set('owner', $USER->get('id')); $artefact->set('parent', $values['parent']); } $artefact->set('title', $values['title']); $artefact->set('description', $values['description']); $artefact->set('completed', $values['completed'] ? 1 : 0); $artefact->set('completiondate', $values['completiondate']); 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')); redirect('/artefact/milestones/milestone.php?id=' . $values['parent']); }
<?php define('INTERNAL', 1); define('JSON', 1); require dirname(dirname(dirname(__FILE__))) . '/init.php'; safe_require('artefact', 'milestones'); require_once get_config('docroot') . 'blocktype/lib.php'; require_once get_config('docroot') . 'artefact/milestones/blocktype/milestones/lib.php'; $offset = param_integer('offset', 0); $limit = param_integer('limit', 3); if ($blockid = param_integer('block', null)) { $bi = new BlockInstance($blockid); $facts = ArtefactTypeFact::get_allfacts($blockid, $offset, $limit); $template = 'artefact:milestones:allfactrows.tpl'; $baseurl = $bi->get_view()->get_url(); $baseurl .= (false === strpos($baseurl, '?') ? '?' : '&') . 'block=' . $blockid; $pagination = array('baseurl' => $baseurl, 'id' => 'block' . $blockid . '_pagination', 'datatable' => 'facttable_' . $blockid, 'jsonscript' => 'artefact/milestones/viewfacts.json.php'); } ArtefactTypeFact::render_facts($facts, $template, $options, $pagination); json_reply(false, (object) array('message' => false, 'data' => $facts));
/** * Set fact parents */ public static function setup_relationships(SimpleXMLElement $entry, PluginImportLeap $importer) { if ($ancestorid = self::get_ancestor_entryid($entry, $importer)) { $ancestorids = $importer->get_artefactids_imported_by_entryid($ancestorid); $artefactids = $importer->get_artefactids_imported_by_entryid((string) $entry->id); if (empty($artefactids[0])) { throw new ImportException($importer, 'Fact artefact not found: ' . (string) $entry->id); } if (empty($ancestorids[0])) { throw new ImportException($importer, 'Milestone artefact not found: ' . $ancestorid); } $artefact = new ArtefactTypeFact($artefactids[0]); $artefact->set('parent', $ancestorids[0]); $artefact->commit(); } }