$string['areauserpersonal'] = 'Personal';
$string['areauserprofile'] = 'Profile';
$string['attachment'] = 'Attachment';
+$string['attachedfiles'] = 'Attached files';
$string['back'] = '< Back';
$string['cacheexpire'] = 'Cache expire';
$string['cachecleared'] = 'Cached files are removed';
-$string['cannotinitplugin'] = 'Call plugin_init failed';
+$string['cannotdelete'] = 'Cannot delete this file.';
$string['cannotdownload'] = 'Cannot download this file';
+$string['cannotinitplugin'] = 'Call plugin_init failed';
$string['clicktohide'] = 'Click here to hide';
$string['clicktoshow'] = 'Click here to show';
$string['close'] = 'Close';
$string['emptytype'] = 'Cannot create repository type: type name is empty';
$string['enablecourseinstances'] = 'Allow teachers to add a repository instance into the file picker';
$string['enableuserinstances'] = 'Allow users to add a repository instance into the file picker';
+$string['enter'] = 'Enter';
$string['error'] = 'An unknown error occurred!';
$string['existingrepository'] = 'This repository already exists';
$string['filename'] = 'Filename';
$string['manage'] = 'Manage repositories';
$string['manageurl'] = 'Manage';
$string['manageuserrepository'] = 'Manage individual repository';
-$string['nopermissiontoaccess'] = 'No permission to access this repository';
$string['noenter'] = 'Nothing entered';
+$string['nofilesattached'] = 'No files attached';
+$string['nopermissiontoaccess'] = 'No permission to access this repository';
$string['notyourinstances'] = 'You can not view/edit repository instances of another user';
$string['noresult'] = 'No search result';
$string['operation'] = 'Operation';
$string['openpicker'] = 'Choose a file...';
$string['personalrepositories'] = 'Personal repositories';
$string['plugin'] = 'Repository plug-ins';
+$string['pluginerror'] = 'Errors in repository plugin.';
$string['preview'] = 'Preview';
$string['popup'] = 'Click "Login" button to login';
$string['readonlyinstance'] = 'You cannot edit/delete a read-only instance';
$string['setupdefaultplugins'] = 'Setting up default repository plugins';
$string['search'] = 'Search ';
$string['searching'] = 'Search in ';
+$string['select'] = 'Select';
$string['siteinstances'] = 'Repositories instances of the site';
$string['size'] = 'Size';
$string['submit'] = 'Submit';
require_once('../config.php');
require_once($CFG->libdir.'/filelib.php');
require_once('lib.php');
+/// Wait as long as it takes for this script to finish
+set_time_limit(0);
+
+require_login();
$page = optional_param('page', '', PARAM_RAW); // page
$client_id = optional_param('client_id', SITEID, PARAM_RAW); // client ID
$sql = 'SELECT i.name, i.typeid, r.type FROM {repository} r, {repository_instances} i '.
'WHERE i.id=? AND i.typeid=r.id';
if (!$repository = $DB->get_record_sql($sql, array($repo_id))) {
- $err->e = get_string('invalidrepositoryid', 'repository');
- die(json_encode($err));
+ print_error('invalidrepositoryid', 'repository');
} else {
$type = $repository->type;
}
try {
$repo = new $classname($repo_id, $ctx_id, array('ajax'=>false, 'name'=>$repository->name, 'client_id'=>$client_id));
} catch (repository_exception $e){
- $err->e = $e->getMessage();
- die(json_encode($err));
+ print_error('pluginerror', 'repository');
}
} else {
- $err->e = get_string('invalidplugin', 'repository', $type);
- die(json_encode($err));
+ print_error('invalidplugin', 'repository');
}
//$context = get_context_instance_by_id($ctx_id);
//$PAGE->set_course($context);
+
switch ($action) {
-case 'embedded':
- echo <<<EOD
-<html>
-<head>
-<style type="text/css">
-img{border:0}
-li{list-style-type:none;margin:0;padding:0}
-ul{margin:0;padding:0}
-</style>
-<meta http-equiv="Refresh" Content="3" />
-</head>
-<body>
-EOD;
- $fs = get_file_storage();
- $context = get_context_instance(CONTEXT_USER, $USER->id);
- $files = $fs->get_area_files($context->id, 'user_draft', $itemid);
- echo '<ul>';
- foreach ($files as $file) {
- if ($file->get_filename()!='.') {
- $url = $CFG->httpswwwroot.'/draftfile.php/'.$context->id.'/user_draft/'.$itemid.'/'.$file->get_filename();
- echo '<li><a href="'.$url.'">'.$file->get_filename().'</a> ';
- echo '<a href="'.$CFG->httpswwwroot.'/repository/filepicker.php?action=deletedraft&itemid='.$itemid.'&ctx_id='.$ctx_id.'&title='.$file->get_filename().'"><img src="'.$CFG->httpswwwroot.'/pix/t/delete.gif" class="iconsmall" /></a></li>';
- }
- }
- echo '</ul>';
- echo '</body></html>';
- exit;
- break;
case 'deletedraft':
if (!$context = get_context_instance(CONTEXT_USER, $USER->id)) {
- echo 'non exist';
+ print_error('wrongcontextid', 'error');
}
$contextid = $context->id;
$fs = get_file_storage();
if($result = $file->delete()) {
header("Location: $CFG->httpswwwroot/repository/filepicker.php?action=embedded&itemid=$itemid&ctx_id=$ctx_id");
} else {
- echo 'not deleteed';
+ print_error('cannotdelete', 'repository');
}
}
exit;
break;
case 'list':
case 'sign':
-
- $navlinks = array();
- $navlinks[] = array('name' => 'filepicker', 'link' => $url, 'type' => 'activityinstance');
- $navlinks[] = array('name' => $repo->get_name());
-
- $navigation = build_navigation($navlinks);
- print_header(get_string('accessiblefilepicker', 'repository'), get_string('accessiblefilepicker', 'repository'), $navigation);
+ print_header();
+ echo "<div><a href='$CFG->httpswwwroot/repository/filepicker.php?action=embedded&itemid=$itemid&ctx_id=$ctx_id'>".get_string('back', 'repository')."</a></div>";
if ($repo->check_login()) {
$list = $repo->get_listing($req_path);
$dynload = !empty($list['dynload'])?true:false;
echo '<form method="post" style="display:inline">';
echo '<label>'.$list['upload']['label'].'</label>';
echo '<input type="file" name="repo_upload_file" /><br />';
- echo '<input type="submit" value="Upload" />';
+ echo '<input type="submit" value="'.get_string('upload', 'repository').'" />';
echo '</form>';
} else {
if (!empty($list['path'])) {
echo '<input type="hidden" name="action" value="list"';
echo '<input type="submit" value="'.$p['name'].'" />';
echo '</form>';
- echo ' <strong>/</strong> ';
+ echo '<strong> / </strong>';
}
}
echo '<table>';
echo '<input type="hidden" name="action" value="confirm"/>';
echo '<input type="hidden" name="title" value="'.$item['title'].'"/>';
echo '<input type="hidden" name="icon" value="'.$item['thumbnail'].'"/>';
- echo '<input type="submit" value="Download" />';
+ echo '<input type="submit" value="'.get_string('select','repository').'" />';
echo '</form>';
} else {
echo '<form method="post">';
echo '<input type="hidden" name="p" value="'.$item['path'].'"/>';
- echo '<input type="submit" value="Enter" />';
+ echo '<input type="submit" value="'.get_string('enter', 'repository').'" />';
echo '</form>';
}
echo '</td>';
break;
case 'confirm':
- print_header(get_string('download', 'repository'), get_string('download', 'repository'));
+ print_header();
+ echo '<div><a href="'.me().'">'.get_string('back', 'repository').'</a></div>';
echo '<img src="'.$icon.'" />';
echo '<form method="post"><table>';
echo '<tr>';
default:
$user_context = get_context_instance(CONTEXT_USER, $USER->id);
$repos = repository::get_instances(array($user_context, get_system_context()), null, true, null, '*', 'ref_id');
- $navlinks = array();
- $navlinks[] = array('name' => get_string('accessiblefilepicker', 'repository'), 'link' => $url, 'type' => 'activityinstance');
- $navigation = build_navigation($navlinks);
- print_header(get_string('accessiblefilepicker', 'repository'), get_string('accessiblefilepicker', 'repository'), $navigation);
+ print_header();
+ $fs = get_file_storage();
+ $context = get_context_instance(CONTEXT_USER, $USER->id);
+ $files = $fs->get_area_files($context->id, 'user_draft', $itemid);
+ echo '<h2>'.get_string('attachedfiles', 'repository').'</h2>';
+ if (empty($files)) {
+ echo get_string('nofilesattached', 'repository');
+ } else {
+ echo '<ul>';
+ foreach ($files as $file) {
+ if ($file->get_filename()!='.') {
+ $drafturl = $CFG->httpswwwroot.'/draftfile.php/'.$context->id.'/user_draft/'.$itemid.'/'.$file->get_filename();
+ echo '<li><a href="'.$drafturl.'">'.$file->get_filename().'</a> ';
+ echo '<a href="'.$CFG->httpswwwroot.'/repository/filepicker.php?action=deletedraft&itemid='.$itemid.'&ctx_id='.$ctx_id.'&title='.$file->get_filename().'"><img src="'.$CFG->httpswwwroot.'/pix/t/delete.gif" class="iconsmall" /></a></li>';
+ }
+ }
+ echo '</ul>';
+ }
+ echo '<h2>'.get_string('plugin', 'repository').'</h2>';
echo '<div><ul>';
foreach($repos as $repo) {
$info = $repo->get_meta();