More Hive stuff for integration
This commit is contained in:
@@ -0,0 +1,25 @@
|
||||
<?php // $Id$
|
||||
|
||||
require_once('../../../../../config.php');
|
||||
|
||||
print_header();
|
||||
|
||||
$urlparts = parse_url($FULLME);
|
||||
|
||||
$parts = explode('&', $urlparts['query']);
|
||||
|
||||
foreach ($parts as $part) {
|
||||
$part = explode('=', $part);
|
||||
$$part[0] = $part[1];
|
||||
}
|
||||
|
||||
$resource = 'HIVE_REF=hii%3A'. $aliasid .'&HIVE_RET=ORG&HIVE_REQ=2001';
|
||||
?>
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
<!--
|
||||
opener.document.forms['form'].reference.value = '<?php echo addslashes($resource) ?>';
|
||||
window.close();
|
||||
-->
|
||||
</script>
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
<?php // $Id$
|
||||
|
||||
require_once("../../../../../config.php");
|
||||
|
||||
print_header();
|
||||
|
||||
if (empty($CFG->hivehost) or empty($CFG->hivehost) or empty($CFG->hivehost) or empty($CFG->hivehost)) {
|
||||
notify('A Hive repository is not yet configured in Moodle. Please see Resource settings.');
|
||||
die;
|
||||
}
|
||||
|
||||
notify('Opening HarvestRoad Hive. Please wait. Contacting '. $CFG->hivehost );
|
||||
|
||||
echo '<form name="OPEN_HIVE_FORM" action="'. $CFG->hiveprot .'://'. $CFG->hivehost .':'. $CFG->hiveport .''. $CFG->hivepath .'" method="post">';
|
||||
|
||||
echo '<input type="hidden" name="HISTORY" value="">';
|
||||
echo '<input type="hidden" name="hiveLanguage" value="en_AU">';
|
||||
echo '<input type="hidden" name="PUBCATEGORY_LIST" value="">';
|
||||
echo '<input type="hidden" name="CATEGORY_LIST" value="">';
|
||||
echo '<input type="hidden" name="HIDE_LOGOUT" value="Y">';
|
||||
echo '<input type="hidden" name="mkurl" value="'.$CFG->wwwroot.'/mod/resource/type/repository/hive/makelink.php">';
|
||||
echo '<input type="hidden" name="HIDE_CHANGEUSERDETAILS" value="Y">';
|
||||
echo '<input type="hidden" name="HIVE_RET" value="ORG">';
|
||||
echo '<input type="hidden" name="HIVE_PAGE" value="Lite Browse">';
|
||||
echo '<input type="hidden" name="HIVE_REQ" value="2113">';
|
||||
echo '<input type="hidden" name="HIVE_ERRCODE" value="0">';
|
||||
echo '<input type="hidden" name="mklms" value="Moodle">';
|
||||
echo '<input type="hidden" name="HIVE_PROD" value="0">';
|
||||
echo '<input type="hidden" name="HIVE_REF" value="hin:hive@Hive Login HTML Template">';
|
||||
echo '<input type="hidden" name="HIVE_LITEMODE" value="liteBrowse">';
|
||||
echo '<input type="hidden" name="HIVE_SEREF" value="'.$CFG->wwwroot.'/sso/hive/expired.php">';
|
||||
echo '<input type="hidden" name="HIVE_SESSION" value="'.$SESSION->HIVE_SESSION.'">';
|
||||
echo '</form>';
|
||||
echo '<script language="javascript"/>';
|
||||
echo 'document.OPEN_HIVE_FORM.submit();';
|
||||
echo 'history.go(-1);';
|
||||
echo '</script>';
|
||||
|
||||
?>
|
||||
@@ -0,0 +1,194 @@
|
||||
|
||||
<tr valign="top">
|
||||
<td align="right" nowrap="nowrap">
|
||||
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
function showhide (id, set) {
|
||||
divobj = document.getElementById(id);
|
||||
butobj = document.getElementById(id+'button');
|
||||
prefobj = document.getElementById(id+'pref');
|
||||
if (set == true) {
|
||||
if (prefobj.value == '1') {
|
||||
divobj.style.display = 'block';
|
||||
butobj.value = '<?php print_string("hidesettings") ?>';
|
||||
} else {
|
||||
divobj.style.display = 'none';
|
||||
butobj.value = '<?php print_string("showsettings") ?>...';
|
||||
}
|
||||
} else {
|
||||
if (prefobj.value == '1') {
|
||||
divobj.style.display = 'none';
|
||||
butobj.value = '<?php print_string("showsettings") ?>...';
|
||||
prefobj.value = '0';
|
||||
} else {
|
||||
divobj.style.display = 'block';
|
||||
butobj.value = '<?php print_string("hidesettings") ?>';
|
||||
prefobj.value = '1';
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<b><?php echo $strfilename ?>:</b>
|
||||
</td>
|
||||
<td>
|
||||
<?php
|
||||
echo "<input type=\"text\" name=\"reference\" size=\"90\" value=\"$form->reference\" alt=\"reference\" /><br />";
|
||||
button_to_popup_window ('/mod/resource/type/repository/hive/openhive.php', 'Hive', 'Hive', 500, 750, $strchooseafile);
|
||||
?>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr><td colspan="2"><hr /></td></tr>
|
||||
|
||||
<tr>
|
||||
<td align="right"><b><?php print_string("display", "resource") ?>:</b></td>
|
||||
<td>
|
||||
<input type="button" value="hide settings" id="windowsettingsbutton" onclick="javascript: return showhide('windowsettings');" />
|
||||
<input type="hidden" name="windowsettingspref" id="windowsettingspref"
|
||||
value="<?php echo get_user_preferences('resource_windowsettingspref', $CFG->resource_windowsettings); ?>" />
|
||||
<?php helpbutton("window", get_string("display", "resource"), "resource", true) ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2">
|
||||
|
||||
<div id="windowsettings">
|
||||
|
||||
<table align="center">
|
||||
|
||||
|
||||
<tr valign="top">
|
||||
|
||||
<td colspan="2">
|
||||
<script type="text/javascript">
|
||||
var popupitems = [<?php echo $popupoptions; ?>];
|
||||
var frameitem = [<?php echo $frameoption; ?>];
|
||||
var allitems = [<?php echo $alloptions; ?>];
|
||||
</script>
|
||||
<input type="radio" name="windowpopup" value="0" alt="<?php print_string('pagewindow', 'resource') ?>" <?php echo ($windowtype != "popup") ? "checked=\"checked\"" : "" ?>
|
||||
onclick="lockoptions('form', 'windowpopup[0]', frameitem);
|
||||
return lockoptions('form', 'windowpopup[1]', popupitems);" />
|
||||
<b title="<?php print_string("pagedisplay", "resource") ?>"><?php print_string("pagewindow", "resource") ?></b>
|
||||
<blockquote>
|
||||
<input type="hidden" name="hframepage" value="0" />
|
||||
<input type="checkbox" name="framepage" value="1" <?php echo ($form->options == "frame") ? "checked=\"checked\"" : "" ?> alt="<?php print_string('frameifpossible', 'resource') ?>" />
|
||||
<?php print_string("frameifpossible", "resource") ?>
|
||||
</blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr valign="top">
|
||||
|
||||
<td colspan="2">
|
||||
<input name="windowpopup" type="radio" value="1" alt="<?php p($strnewwindow)?>" <?php echo ($windowtype == "popup") ? "checked=\"checked\"" : "" ?>
|
||||
onclick="lockoptions('form', 'windowpopup[0]', frameitem);
|
||||
return lockoptions('form', 'windowpopup[1]', popupitems);" />
|
||||
<b title="<?php p($strnewwindowopen) ?>"><?php p($strnewwindow) ?></b>
|
||||
<blockquote>
|
||||
<?php
|
||||
foreach ($window as $name => $value) {
|
||||
if ($name == "height" or $name == "width") {
|
||||
continue;
|
||||
}
|
||||
echo "<input name=\"h$name\" type=\"hidden\" value=\"0\" />";
|
||||
echo "<input name=\"$name\" type=\"checkbox\" value=\"1\" ".$window->$name." alt=\"$name\" />";
|
||||
$stringname = "str$name";
|
||||
echo $$stringname."<br />";
|
||||
}
|
||||
?>
|
||||
|
||||
<input name="hwidth" type="hidden" value="0" />
|
||||
<input name="width" type="text" size="4" value="<?php p($window->width) ?>" alt="<?php p($strwidth) ?>" />
|
||||
<?php p($strwidth) ?><br />
|
||||
|
||||
<input name="hheight" type="hidden" value="0" />
|
||||
<input name="height" type="text" size="4" value="<?php p($window->height) ?>" alt="<?php p($strheight) ?>" />
|
||||
<?php p($strheight) ?><br />
|
||||
<?php
|
||||
if ($windowtype == "page") {
|
||||
echo "<script type=\"text/javascript\">";
|
||||
echo "lockoptions('form','windowpopup[1]', popupitems);";
|
||||
echo "</script>";
|
||||
} else {
|
||||
echo "<script type=\"text/javascript\">";
|
||||
echo "lockoptions('form','windowpopup[0]', frameitem);";
|
||||
echo "</script>";
|
||||
}
|
||||
?>
|
||||
</blockquote>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
</td></tr>
|
||||
|
||||
<tr>
|
||||
<td align="right"><b><?php print_string("parameters", "resource") ?>:</b></td>
|
||||
<td>
|
||||
<input type="button" value="hide settings" id="parametersettingsbutton" onclick="javascript: return showhide('parametersettings');" />
|
||||
<input type="hidden" name="parametersettingspref" id="parametersettingspref"
|
||||
value="<?php echo get_user_preferences('resource_parametersettingspref', $CFG->resource_parametersettings); ?>" />
|
||||
<?php helpbutton("parameters", get_string("parameters", "resource"), "resource", true) ?>
|
||||
</td>
|
||||
</tr>
|
||||
<tr><td colspan="2">
|
||||
|
||||
<div id="parametersettings">
|
||||
|
||||
<table align="center">
|
||||
|
||||
<tr>
|
||||
<td align="center"><?php print_string("parameter", "resource") ?></td>
|
||||
<td align="center"><?php print_string("variablename", "resource") ?></td>
|
||||
</tr>
|
||||
|
||||
<?php
|
||||
|
||||
for ($i=0; $i < $this->maxparameters; $i++) {
|
||||
echo "<tr>\n";
|
||||
echo "<td valign=\"top\">\n";
|
||||
echo "<select name=\"parameter$i\">\n";
|
||||
echo "<option value=\"-\">-- ".get_string('chooseparameter', 'resource')." --</option>\n";
|
||||
foreach ($this->parameters as $field=>$fieldarr) {
|
||||
if ($fieldarr['value'] === "optgroup") {
|
||||
echo "<optgroup label=\"{$fieldarr['langstr']}\">\n";
|
||||
} elseif ($fieldarr['value'] === "/optgroup") {
|
||||
echo "</optgroup>\n";
|
||||
} else {
|
||||
echo "<option value=\"$field\"";
|
||||
if ($alltextfield[$i]['parameter'] == $field) {
|
||||
echo " selected=\"selected\"";
|
||||
}
|
||||
echo ">{$fieldarr['langstr']}</option>\n";
|
||||
}
|
||||
}
|
||||
echo "</select>\n";
|
||||
echo "</td>\n";
|
||||
echo "<td valign=\"top\">\n";
|
||||
echo "<input type=\"text\" name=\"parse$i\" value=\"{$alltextfield[$i]['parse']}\" alt=\"parameter$i\"/>\n";
|
||||
echo "</td>\n";
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
|
||||
</table>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<script language="javascript" type="text/javascript">
|
||||
showhide('parametersettings', true);
|
||||
showhide('windowsettings', true);
|
||||
</script>
|
||||
|
||||
|
||||
</td></tr>
|
||||
|
||||
<?php print_visible_setting($form); ?>
|
||||
@@ -0,0 +1,597 @@
|
||||
<?php // $Id$
|
||||
|
||||
/**
|
||||
* Extend the base resource class for repository resources
|
||||
*
|
||||
* Extend the base resource class for respoitory resources
|
||||
*
|
||||
*/
|
||||
class resource_repository extends resource_base {
|
||||
|
||||
function resource_repository($cmid=0) {
|
||||
parent::resource_base($cmid);
|
||||
}
|
||||
|
||||
var $parameters;
|
||||
var $maxparameters = 5;
|
||||
|
||||
|
||||
/**
|
||||
* Sets the parameters property of the extended class
|
||||
*
|
||||
* Sets the parameters property of the extended repository resource class
|
||||
*
|
||||
* @param USER global object
|
||||
* @param CFG global object
|
||||
*/
|
||||
function set_parameters() {
|
||||
global $USER, $CFG;
|
||||
|
||||
if (! empty($this->course->lang)) {
|
||||
$CFG->courselang = $this->course->lang;
|
||||
}
|
||||
|
||||
if (empty($USER->id)) { // No need to set up parameters
|
||||
$this->parameters = array();
|
||||
return;
|
||||
}
|
||||
|
||||
$site = get_site();
|
||||
|
||||
$this->parameters = array(
|
||||
|
||||
'label1' => array('langstr' => get_string('user'),
|
||||
'value' => 'optgroup'),
|
||||
|
||||
'userid' => array('langstr' => 'id',
|
||||
'value' => $USER->id),
|
||||
'userusername' => array('langstr' => get_string('username'),
|
||||
'value' => $USER->username),
|
||||
'userpassword' => array('langstr' => get_string('password'),
|
||||
'value' => $USER->password),
|
||||
'useridnumber' => array('langstr' => get_string('idnumber'),
|
||||
'value' => $USER->idnumber),
|
||||
'userfirstname' => array('langstr' => get_string('firstname'),
|
||||
'value' => $USER->firstname),
|
||||
'userlastname' => array('langstr' => get_string('lastname'),
|
||||
'value' => $USER->lastname),
|
||||
'userfullname' => array('langstr' => get_string('fullname'),
|
||||
'value' => fullname($USER)),
|
||||
'useremail' => array('langstr' => get_string('email'),
|
||||
'value' => $USER->email),
|
||||
'usericq' => array('langstr' => get_string('icqnumber'),
|
||||
'value' => $USER->icq),
|
||||
'userphone1' => array('langstr' => get_string('phone').' 1',
|
||||
'value' => $USER->phone1),
|
||||
'userphone2' => array('langstr' => get_string('phone').' 2',
|
||||
'value' => $USER->phone2),
|
||||
'userinstitution' => array('langstr' => get_string('institution'),
|
||||
'value' => $USER->institution),
|
||||
'userdepartment' => array('langstr' => get_string('department'),
|
||||
'value' => $USER->department),
|
||||
'useraddress' => array('langstr' => get_string('address'),
|
||||
'value' => $USER->address),
|
||||
'usercity' => array('langstr' => get_string('city'),
|
||||
'value' => $USER->city),
|
||||
'usertimezone' => array('langstr' => get_string('timezone'),
|
||||
'value' => get_user_timezone_offset()),
|
||||
'userurl' => array('langstr' => get_string('webpage'),
|
||||
'value' => $USER->url),
|
||||
|
||||
'label2' => array('langstr' => "",
|
||||
'value' =>'/optgroup'),
|
||||
'label3' => array('langstr' => get_string('course'),
|
||||
'value' => 'optgroup'),
|
||||
|
||||
'courseid' => array('langstr' => 'id',
|
||||
'value' => $this->course->id),
|
||||
'coursefullname' => array('langstr' => get_string('fullname'),
|
||||
'value' => $this->course->fullname),
|
||||
'courseshortname' => array('langstr' => get_string('shortname'),
|
||||
'value' => $this->course->shortname),
|
||||
'courseidnumber' => array('langstr' => get_string('idnumber'),
|
||||
'value' => $this->course->idnumber),
|
||||
'coursesummary' => array('langstr' => get_string('summary'),
|
||||
'value' => $this->course->summary),
|
||||
'courseformat' => array('langstr' => get_string('format'),
|
||||
'value' => $this->course->format),
|
||||
'courseteacher' => array('langstr' => get_string('wordforteacher'),
|
||||
'value' => $this->course->teacher),
|
||||
'courseteachers' => array('langstr' => get_string('wordforteachers'),
|
||||
'value' => $this->course->teachers),
|
||||
'coursestudent' => array('langstr' => get_string('wordforstudent'),
|
||||
'value' => $this->course->student),
|
||||
'coursestudents' => array('langstr' => get_string('wordforstudents'),
|
||||
'value' => $this->course->students),
|
||||
|
||||
'label4' => array('langstr' => "",
|
||||
'value' =>'/optgroup'),
|
||||
'label5' => array('langstr' => get_string('miscellaneous'),
|
||||
'value' => 'optgroup'),
|
||||
|
||||
'lang' => array('langstr' => get_string('preferredlanguage'),
|
||||
'value' => current_language()),
|
||||
'sitename' => array('langstr' => get_string('fullsitename'),
|
||||
'value' => $site->fullname),
|
||||
'serverurl' => array('langstr' => get_string('serverurl', 'resource', $CFG),
|
||||
'value' => $CFG->wwwroot),
|
||||
'currenttime' => array('langstr' => get_string('time'),
|
||||
'value' => time()),
|
||||
'encryptedcode' => array('langstr' => get_string('encryptedcode'),
|
||||
'value' => $this->set_encrypted_parameter()),
|
||||
|
||||
'label6' => array('langstr' => "",
|
||||
'value' =>'/optgroup')
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Add new instance of repository resource
|
||||
*
|
||||
* Create alltext field before calling base class function.
|
||||
*
|
||||
* @param resource object
|
||||
*/
|
||||
function add_instance($resource) {
|
||||
$optionlist = array();
|
||||
|
||||
for ($i = 0; $i < $this->maxparameters; $i++) {
|
||||
$parametername = "parameter$i";
|
||||
$parsename = "parse$i";
|
||||
if (!empty($resource->$parsename) and $resource->$parametername != "-") {
|
||||
$optionlist[] = $resource->$parametername."=".$resource->$parsename;
|
||||
}
|
||||
}
|
||||
|
||||
$resource->alltext = implode(',', $optionlist);
|
||||
|
||||
return parent::add_instance($resource);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Update instance of repository resource
|
||||
*
|
||||
* Create alltext field before calling base class function.
|
||||
*
|
||||
* @param resource object
|
||||
*/
|
||||
function update_instance($resource) {
|
||||
$optionlist = array();
|
||||
|
||||
for ($i = 0; $i < $this->maxparameters; $i++) {
|
||||
$parametername = "parameter$i";
|
||||
$parsename = "parse$i";
|
||||
if (!empty($resource->$parsename) and $resource->$parametername != "-") {
|
||||
$optionlist[] = $resource->$parametername."=".$resource->$parsename;
|
||||
}
|
||||
}
|
||||
|
||||
$resource->alltext = implode(',', $optionlist);
|
||||
|
||||
return parent::update_instance($resource);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Display the repository resource
|
||||
*
|
||||
* Displays a repository resource embedded, in a frame, or in a popup.
|
||||
* Output depends on type of file resource.
|
||||
*
|
||||
* @param CFG global object
|
||||
*/
|
||||
function display() {
|
||||
global $CFG, $THEME, $SESSION;
|
||||
|
||||
/// Set up generic stuff first, including checking for access
|
||||
parent::display();
|
||||
|
||||
/// Set up some shorthand variables
|
||||
$cm = $this->cm;
|
||||
$course = $this->course;
|
||||
$resource = $this->resource;
|
||||
|
||||
|
||||
$this->set_parameters(); // set the parameters array
|
||||
|
||||
///////////////////////////////////////////////
|
||||
|
||||
/// Possible display modes are:
|
||||
/// File displayed in a frame in a normal window
|
||||
/// File displayed embedded in a normal page
|
||||
/// File displayed in a popup window
|
||||
/// File displayed emebedded in a popup window
|
||||
|
||||
|
||||
/// First, find out what sort of file we are dealing with.
|
||||
require_once($CFG->libdir.'/filelib.php');
|
||||
|
||||
$querystring = '';
|
||||
$resourcetype = '';
|
||||
$embedded = false;
|
||||
$mimetype = mimeinfo("type", $resource->reference);
|
||||
$pagetitle = strip_tags($course->shortname.': '.format_string($resource->name));
|
||||
|
||||
if ($resource->options != "frame") {
|
||||
if (in_array($mimetype, array('image/gif','image/jpeg','image/png'))) { // It's an image
|
||||
$resourcetype = "image";
|
||||
$embedded = true;
|
||||
|
||||
} else if ($mimetype == "audio/mp3") { // It's an MP3 audio file
|
||||
$resourcetype = "mp3";
|
||||
$embedded = true;
|
||||
|
||||
} else if (substr($mimetype, 0, 10) == "video/x-ms") { // It's a Media Player file
|
||||
$resourcetype = "mediaplayer";
|
||||
$embedded = true;
|
||||
|
||||
} else if ($mimetype == "video/quicktime") { // It's a Quicktime file
|
||||
$resourcetype = "quicktime";
|
||||
$embedded = true;
|
||||
|
||||
} else if ($mimetype == "text/html") { // It's a web page
|
||||
$resourcetype = "html";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// Form the parse string
|
||||
if (!empty($resource->alltext)) {
|
||||
$querys = array();
|
||||
$parray = explode(',', $resource->alltext);
|
||||
foreach ($parray as $fieldstring) {
|
||||
$field = explode('=', $fieldstring);
|
||||
$querys[] = urlencode($field[1]).'='.urlencode($this->parameters[$field[0]]['value']);
|
||||
}
|
||||
$querystring = implode('&', $querys);
|
||||
}
|
||||
|
||||
|
||||
/// Set up some variables
|
||||
|
||||
$inpopup = !empty($_GET["inpopup"]);
|
||||
|
||||
|
||||
$fullurl = $CFG->hiveprot .'://'. $CFG->hivehost .':'. $CFG->hiveport .''. $CFG->hivepath . '?'. $resource->reference . '&HIVE_SESSION='.$SESSION->HIVE_SESSION;
|
||||
|
||||
if (!empty($querystring)) {
|
||||
$urlpieces = parse_url($resource->reference);
|
||||
if (empty($urlpieces['query'])) {
|
||||
$fullurl .= '?'.$querystring;
|
||||
} else {
|
||||
$fullurl .= '&'.$querystring;
|
||||
}
|
||||
}
|
||||
|
||||
/// Print a notice and redirect if we are trying to access a file on a local file system
|
||||
/// and the config setting has been disabled
|
||||
if (!$CFG->resource_allowlocalfiles and (strpos($resource->reference, RESOURCE_LOCALPATH) === 0)) {
|
||||
if ($inpopup) {
|
||||
print_header($pagetitle, $course->fullname);
|
||||
} else {
|
||||
print_header($pagetitle, $course->fullname, "$this->navigation ".format_string($resource->name), "", "", true, update_module_button($cm->id, $course->id, $this->strresource), navmenu($course, $cm));
|
||||
}
|
||||
notify(get_string('notallowedlocalfileaccess', 'resource', ''));
|
||||
if ($inpopup) {
|
||||
close_window_button();
|
||||
}
|
||||
print_footer('none');
|
||||
die;
|
||||
}
|
||||
|
||||
|
||||
/// Check whether this is supposed to be a popup, but was called directly
|
||||
|
||||
if ($resource->popup and !$inpopup) { /// Make a page and a pop-up window
|
||||
|
||||
print_header($pagetitle, $course->fullname, "$this->navigation ".format_string($resource->name), "", "", true, update_module_button($cm->id, $course->id, $this->strresource), navmenu($course, $cm));
|
||||
|
||||
|
||||
echo "\n<script language=\"javascript\" type=\"text/javascript\">";
|
||||
echo "\n<!--\n";
|
||||
echo "openpopup('/mod/resource/view.php?inpopup=true&id={$cm->id}','resource{$resource->id}','{$resource->popup}');\n";
|
||||
echo "\n-->\n";
|
||||
echo '</script>';
|
||||
|
||||
if (trim(strip_tags($resource->summary))) {
|
||||
$formatoptions->noclean = true;
|
||||
print_simple_box(format_text($resource->summary, FORMAT_MOODLE, $formatoptions), "center");
|
||||
}
|
||||
|
||||
$link = "<a href=\"$CFG->wwwroot/mod/resource/view.php?inpopup=true&id={$cm->id}\" target=\"resource{$resource->id}\" onclick=\"return openpopup('/mod/resource/view.php?inpopup=true&id={$cm->id}', 'resource{$resource->id}','{$resource->popup}');\">".format_string($resource->name,true)."</a>";
|
||||
|
||||
echo "<p> </p>";
|
||||
echo '<p align="center">';
|
||||
print_string('popupresource', 'resource');
|
||||
echo '<br />';
|
||||
print_string('popupresourcelink', 'resource', $link);
|
||||
echo "</p>";
|
||||
|
||||
print_footer($course);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/// Now check whether we need to display a frameset
|
||||
|
||||
if (empty($_GET['frameset']) and !$embedded and !$inpopup and $resource->options == "frame") {
|
||||
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Frameset//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd\">\n";
|
||||
echo "<html dir=\"ltr\">\n";
|
||||
echo '<head>';
|
||||
echo '<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />';
|
||||
echo "<title>{$course->shortname}: ".strip_tags(format_string($resource->name,true))."</title></head>\n";
|
||||
echo "<frameset rows=\"$CFG->resource_framesize,*\">";
|
||||
echo "<frame src=\"view.php?id={$cm->id}&type={$resource->type}&frameset=top\" />";
|
||||
if (!empty($localpath)) { // Show it like this so we interpose some HTML
|
||||
echo "<frame src=\"view.php?id={$cm->id}&type={$resource->type}&inpopup=true\" />";
|
||||
} else {
|
||||
echo "<frame src=\"$fullurl\" />";
|
||||
}
|
||||
echo "</frameset>";
|
||||
echo "</html>";
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/// We can only get here once per resource, so add an entry to the log
|
||||
|
||||
add_to_log($course->id, "resource", "view", "view.php?id={$cm->id}", $resource->id, $cm->id);
|
||||
|
||||
|
||||
/// If we are in a frameset, just print the top of it
|
||||
|
||||
if (!empty($_GET['frameset']) and $_GET['frameset'] == "top") {
|
||||
print_header($pagetitle, $course->fullname, "$this->navigation ".format_string($resource->name), "", "", true, update_module_button($cm->id, $course->id, $this->strresource), navmenu($course, $cm, "parent"));
|
||||
|
||||
$options->para = false;
|
||||
echo '<div class="summary">'.format_text($resource->summary, FORMAT_HTML, $options).'</div>';
|
||||
if (!empty($localpath)) { // Show some help
|
||||
echo '<div align="right" class="helplink">';
|
||||
link_to_popup_window ('/mod/resource/type/file/localpath.php', get_string('localfile', 'resource'), get_string('localfilehelp','resource'), 400, 500, get_string('localfilehelp', 'resource'));
|
||||
echo '</div>';
|
||||
}
|
||||
echo '</body></html>';
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
/// Display the actual resource
|
||||
|
||||
if ($embedded) { // Display resource embedded in page
|
||||
$strdirectlink = get_string("directlink", "resource");
|
||||
|
||||
if ($inpopup) {
|
||||
print_header($pagetitle);
|
||||
} else {
|
||||
print_header($pagetitle, $course->fullname, "$this->navigation <a title=\"$strdirectlink\" target=\"$CFG->framename\" href=\"$fullurl\"> ".format_string($resource->name,true)."</a>", "", "", true, update_module_button($cm->id, $course->id, $this->strresource), navmenu($course, $cm, "self"));
|
||||
|
||||
}
|
||||
|
||||
if ($resourcetype == "image") {
|
||||
echo "<center><p>";
|
||||
echo "<img title=\"".strip_tags(format_string($resource->name,true))."\" class=\"resourceimage\" src=\"$fullurl\" alt=\"\" />";
|
||||
echo "</p></center>";
|
||||
|
||||
} else if ($resourcetype == "mp3") {
|
||||
if (!empty($THEME->resource_mp3player_colors)) {
|
||||
$c = $THEME->resource_mp3player_colors; // You can set this up in your theme/xxx/config.php
|
||||
} else {
|
||||
$c = 'bgColour=000000&btnColour=ffffff&btnBorderColour=cccccc&iconColour=000000&'.
|
||||
'iconOverColour=00cc00&trackColour=cccccc&handleColour=ffffff&loaderColour=ffffff&'.
|
||||
'font=Arial&fontColour=3333FF&buffer=10&waitForPlay=no&autoPlay=yes';
|
||||
}
|
||||
$c .= '&volText='.get_string('vol', 'resource').'&panText='.get_string('pan','resource');
|
||||
$c = htmlentities($c);
|
||||
echo '<div class="mp3player" align="center">';
|
||||
echo '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"';
|
||||
echo ' codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" ';
|
||||
echo ' width="600" height="70" id="mp3player" align="">';
|
||||
echo '<param name="movie" value="'.$CFG->wwwroot.'/lib/mp3player/mp3player.swf?src='.$fullurl.'">';
|
||||
echo '<param name="quality" value="high">';
|
||||
echo '<param name="bgcolor" value="#333333">';
|
||||
echo '<param name="flashvars" value="'.$c.'&" />';
|
||||
echo '<embed src="'.$CFG->wwwroot.'/lib/mp3player/mp3player.swf?src='.$fullurl.'" ';
|
||||
echo ' quality="high" bgcolor="#333333" width="600" height="70" name="mp3player" ';
|
||||
echo ' type="application/x-shockwave-flash" ';
|
||||
echo ' flashvars="'.$c.'&" ';
|
||||
echo ' pluginspage="http://www.macromedia.com/go/getflashplayer">';
|
||||
echo '</embed>';
|
||||
echo '</object>';
|
||||
echo '</div>';
|
||||
|
||||
|
||||
} else if ($resourcetype == "mediaplayer") {
|
||||
echo "<center><p>";
|
||||
echo '<object classid="CLSID:22D6f312-B0F6-11D0-94AB-0080C74C7E95"';
|
||||
echo ' codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" ';
|
||||
echo ' standby="Loading Microsoft® Windows® Media Player components..." ';
|
||||
echo ' id="msplayer" align="" type="application/x-oleobject">';
|
||||
echo "<param name=\"Filename\" value=\"$fullurl\">";
|
||||
echo '<param name="ShowControls" value="true" />';
|
||||
echo '<param name="AutoRewind" value="true" />';
|
||||
echo '<param name="AutoStart" value="true" />';
|
||||
echo '<param name="Autosize" value="true" />';
|
||||
echo '<param name="EnableContextMenu" value="true" />';
|
||||
echo '<param name="TransparentAtStart" value="false" />';
|
||||
echo '<param name="AnimationAtStart" value="false" />';
|
||||
echo '<param name="ShowGotoBar" value="false" />';
|
||||
echo '<param name="EnableFullScreenControls" value="true" />';
|
||||
echo "\n<embed src=\"$fullurl\" name=\"msplayer\" type=\"$mimetype\" ";
|
||||
echo ' ShowControls="1" AutoRewind="1" AutoStart="1" Autosize="0" EnableContextMenu="1"';
|
||||
echo ' TransparentAtStart="0" AnimationAtStart="0" ShowGotoBar="0" EnableFullScreenControls="1"';
|
||||
echo ' pluginspage="http://www.microsoft.com/Windows/Downloads/Contents/Products/MediaPlayer/">';
|
||||
echo '</embed>';
|
||||
echo '</object>';
|
||||
echo "</p></center>";
|
||||
|
||||
} else if ($resourcetype == "quicktime") {
|
||||
|
||||
echo "<center><p>";
|
||||
echo '<object classid="CLSID:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B"';
|
||||
echo ' codebase="http://www.apple.com/qtactivex/qtplugin.cab" ';
|
||||
echo ' height="450" width="600"';
|
||||
echo ' id="quicktime" align="" type="application/x-oleobject">';
|
||||
echo "<param name=\"src\" value=\"$fullurl\" />";
|
||||
echo '<param name="autoplay" value="true" />';
|
||||
echo '<param name="loop" value="true" />';
|
||||
echo '<param name="controller" value="true" />';
|
||||
echo '<param name="scale" value="aspect" />';
|
||||
echo "\n<embed src=\"$fullurl\" name=\"quicktime\" type=\"$mimetype\" ";
|
||||
echo ' height="450" width="600" scale="aspect"';
|
||||
echo ' autoplay="true" controller="true" loop="true" ';
|
||||
echo ' pluginspage="http://quicktime.apple.com/">';
|
||||
echo '</embed>';
|
||||
echo '</object>';
|
||||
echo "</p></center>";
|
||||
}
|
||||
|
||||
if (trim($resource->summary)) {
|
||||
$formatoptions->noclean = true;
|
||||
print_simple_box(format_text($resource->summary, FORMAT_MOODLE, $formatoptions, $course->id), "center");
|
||||
}
|
||||
|
||||
if ($inpopup) {
|
||||
echo "<center><p>(<a href=\"$fullurl\">$strdirectlink</a>)</p></center>";
|
||||
} else {
|
||||
print_spacer(20,20);
|
||||
print_footer($course);
|
||||
}
|
||||
|
||||
} else { // Display the resource on it's own
|
||||
if (!empty($localpath)) { // Show a link to help work around browser security
|
||||
echo '<div align="right" class="helplink">';
|
||||
link_to_popup_window ('/mod/resource/type/file/localpath.php', get_string('localfile', 'resource'), get_string('localfilehelp','resource'), 400, 500, get_string('localfilehelp', 'resource'));
|
||||
echo '</div>';
|
||||
echo "<center><p>(<a href=\"$fullurl\">$fullurl</a>)</p></center>";
|
||||
}
|
||||
redirect($fullurl);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Setup a new repository resource
|
||||
*
|
||||
* Display a form to create a new or edit an existing repository resource
|
||||
*
|
||||
* @param form object
|
||||
* @param CFG global object
|
||||
* @param usehtmleditor global integer
|
||||
* @param RESOURCE_WINDOW_OPTIONS global array
|
||||
*/
|
||||
function setup($form) {
|
||||
global $CFG, $usehtmleditor, $RESOURCE_WINDOW_OPTIONS;
|
||||
|
||||
parent::setup($form);
|
||||
|
||||
$this->set_parameters(); // set the parameter array for the form
|
||||
|
||||
|
||||
$strfilename = get_string("location");
|
||||
$strnote = get_string("note", "resource");
|
||||
$strchooseafile = get_string("chooseafile", "resource");
|
||||
$strnewwindow = get_string("newwindow", "resource");
|
||||
$strnewwindowopen = get_string("newwindowopen", "resource");
|
||||
$strsearch = get_string("searchweb", "resource");
|
||||
|
||||
foreach ($RESOURCE_WINDOW_OPTIONS as $optionname) {
|
||||
$stringname = "str$optionname";
|
||||
$$stringname = get_string("new$optionname", "resource");
|
||||
$window->$optionname = "";
|
||||
$jsoption[] = "\"$optionname\"";
|
||||
}
|
||||
|
||||
$frameoption = "\"framepage\"";
|
||||
$popupoptions = implode(",", $jsoption);
|
||||
$jsoption[] = $frameoption;
|
||||
$alloptions = implode(",", $jsoption);
|
||||
|
||||
|
||||
|
||||
if ($form->instance) { // Re-editing
|
||||
if (!$form->popup) {
|
||||
$windowtype = "page"; // No popup text => in page
|
||||
foreach ($RESOURCE_WINDOW_OPTIONS as $optionname) {
|
||||
$defaultvalue = "resource_popup$optionname";
|
||||
$window->$optionname = $CFG->$defaultvalue;
|
||||
}
|
||||
} else {
|
||||
$windowtype = "popup";
|
||||
$rawoptions = explode(',', $form->popup);
|
||||
foreach ($rawoptions as $rawoption) {
|
||||
$option = explode('=', trim($rawoption));
|
||||
$optionname = $option[0];
|
||||
$optionvalue = $option[1];
|
||||
if ($optionname == 'height' or $optionname == 'width') {
|
||||
$window->$optionname = $optionvalue;
|
||||
} else if ($optionvalue) {
|
||||
$window->$optionname = 'checked="checked"';
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
foreach ($RESOURCE_WINDOW_OPTIONS as $optionname) {
|
||||
$defaultvalue = "resource_popup$optionname";
|
||||
|
||||
if ($optionname == 'height' or $optionname == 'width') {
|
||||
$window->$optionname = $CFG->$defaultvalue;
|
||||
} else if ($CFG->$defaultvalue) {
|
||||
$window->$optionname = 'checked="checked"';
|
||||
}
|
||||
}
|
||||
|
||||
$windowtype = ($CFG->resource_popup) ? 'popup' : 'page';
|
||||
if (empty($form->options)) {
|
||||
$form->options = 'frame';
|
||||
$form->reference = $CFG->resource_defaulturl;
|
||||
}
|
||||
}
|
||||
if (empty($form->reference)) {
|
||||
$form->reference = $CFG->resource_defaulturl;
|
||||
}
|
||||
|
||||
|
||||
/// set the 5 parameter defaults
|
||||
$alltextfield = array();
|
||||
for ($i = 0; $i < $this->maxparameters; $i++) {
|
||||
$alltextfield[] = array('parameter' => '',
|
||||
'parse' => '');
|
||||
}
|
||||
/// load up any stored parameters
|
||||
if (!empty($form->alltext)) {
|
||||
$parray = explode(',', $form->alltext);
|
||||
foreach ($parray as $key => $fieldstring) {
|
||||
$field = explode('=', $fieldstring);
|
||||
$alltextfield[$key]['parameter'] = $field[0];
|
||||
$alltextfield[$key]['parse'] = $field[1];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
include("$CFG->dirroot/mod/resource/type/repository/repository.html");
|
||||
|
||||
parent::setup_end();
|
||||
}
|
||||
|
||||
//backwards compatible with existing resources
|
||||
function set_encrypted_parameter() {
|
||||
global $CFG;
|
||||
|
||||
if (!empty($this->resource->reference) && file_exists($CFG->dirroot ."/mod/resource//type/file/externserverfile.php")) {
|
||||
include $CFG->dirroot ."/mod/resource/type/file/externserverfile.php";
|
||||
if (function_exists(extern_server_file)) {
|
||||
return extern_server_file($this->resource->reference);
|
||||
}
|
||||
}
|
||||
return md5($_SERVER['REMOTE_ADDR'].$CFG->resource_secretphrase);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
Reference in New Issue
Block a user