moodle/mod/label/lib.php

132 lines
3.2 KiB
PHP
Raw Normal View History

<?php // $Id$
/// Library of functions and constants for module label
define("LABEL_MAX_NAME_LENGTH", 50);
function get_label_name($label) {
$textlib = textlib_get_instance();
$name = strip_tags(format_string($label->content,true));
if ($textlib->strlen($name) > LABEL_MAX_NAME_LENGTH) {
$name = $textlib->substr($name, 0, LABEL_MAX_NAME_LENGTH)."...";
}
if (empty($name)) {
// arbitrary name
$name = get_string('modulename','label');
}
return $name;
}
function label_add_instance($label) {
2008-06-01 21:36:11 +00:00
global $DB;
/// Given an object containing all the necessary data,
2008-06-01 19:09:13 +00:00
/// (defined by the form in mod_form.php) this function
/// will create a new instance and return the id number
/// of the new instance.
$label->name = get_label_name($label);
$label->timemodified = time();
2008-06-01 21:36:11 +00:00
return $DB->insert_record("label", $label);
}
function label_update_instance($label) {
2008-06-01 21:36:11 +00:00
global $DB;
/// Given an object containing all the necessary data,
2008-06-01 19:09:13 +00:00
/// (defined by the form in mod_form.php) this function
/// will update an existing instance with new data.
2005-06-03 12:22:54 +00:00
$label->name = get_label_name($label);
$label->timemodified = time();
$label->id = $label->instance;
2008-06-01 21:36:11 +00:00
return $DB->update_record("label", $label);
}
function label_delete_instance($id) {
2008-06-01 21:36:11 +00:00
global $DB;
/// Given an ID of an instance of this module,
/// this function will permanently delete the instance
/// and any data that depends on it.
2008-06-01 21:36:11 +00:00
if (! $label = $DB->get_record("label", array("id"=>$id))) {
return false;
}
$result = true;
2008-06-01 21:36:11 +00:00
if (! $DB->delete_records("label", array("id"=>$label->id))) {
$result = false;
}
return $result;
}
function label_get_participants($labelid) {
//Returns the users with data in one resource
2003-11-21 14:03:06 +00:00
//(NONE, but must exist on EVERY mod !!)
return false;
}
/**
* Given a course_module object, this function returns any
* "extra" information that may be needed when printing
* this activity in a course listing.
* See get_array_of_activities() in course/lib.php
*/
function label_get_coursemodule_info($coursemodule) {
2008-06-03 23:44:16 +00:00
global $DB;
if ($label = $DB->get_record('label', array('id'=>$coursemodule->instance), 'id, content, name')) {
if (empty($label->name)) {
// label name missing, fix it
$label->name = "label{$label->id}";
$DB->set_field('label', 'name', $label->name, array('id'=>$label->id));
}
$info = new object();
$info->extra = urlencode($label->content);
$info->name = urlencode($label->name);
return $info;
} else {
return null;
}
}
function label_get_view_actions() {
return array();
}
function label_get_post_actions() {
return array();
}
function label_get_types() {
$types = array();
$type = new object();
$type->modclass = MOD_CLASS_RESOURCE;
$type->type = "label";
$type->typestr = get_string('resourcetypelabel', 'resource');
$types[] = $type;
return $types;
}
/**
* This function is used by the reset_course_userdata function in moodlelib.
* @param $data the data submitted from the reset course.
* @return array status array
*/
function label_reset_userdata($data) {
return array();
}
?>