Example #1
0
<?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');
Example #2
0
 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');
     }
 }
Example #3
0
<?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));
Example #4
0
<?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');
Example #5
0
 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'));
 }