本文整理汇总了PHP中ArtefactTypeFileBase类的典型用法代码示例。如果您正苦于以下问题:PHP ArtefactTypeFileBase类的具体用法?PHP ArtefactTypeFileBase怎么用?PHP ArtefactTypeFileBase使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ArtefactTypeFileBase类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: filebrowser_element
public static function filebrowser_element(&$instance, $default = array())
{
$element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
$element['title'] = get_string('Files', 'blocktype.file/filedownload');
$element['name'] = 'artefactids';
$element['config']['selectone'] = false;
return $element;
}
示例2: filebrowser_element
public static function filebrowser_element(&$instance, $default = array())
{
$element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
$element['title'] = get_string('media', 'blocktype.file/internalmedia');
$element['name'] = 'artefactid';
$element['config']['selectone'] = true;
$element['filters'] = array('artefacttype' => array('file', 'audio', 'video'), 'filetype' => self::get_allowed_mimetypes());
return $element;
}
示例3: filebrowser_element
public static function filebrowser_element(&$instance, $default = array())
{
$element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
$element['title'] = get_string('file', 'artefact.file');
$element['name'] = 'artefactid';
$element['config']['selectone'] = true;
$element['config']['selectmodal'] = true;
$element['filters'] = array('artefacttype' => array('file'), 'filetype' => self::get_allowed_mimetypes());
$element['accept'] = implode(',', self::get_allowed_mimetypes());
return $element;
}
示例4: get_export_path_for_file
/**
* Generates a path, relative to the root of the export, that the given
* file will appear in the export.
*
* If the file is a thumbnail, the copy proxy is informed about it so that
* the image can later be copied in to place.
*
* @param ArtefactTypeFileBase $file The file to get the exported path for
* @param array $options Options from the URL that was linking
* to the image - most importantly, size
* related options about how the image
* was thumbnailed, if it was.
* @param string $basefolder What folder in the export to dump the
* file in
* @return string The relative path to where the file
* will be placed
*/
private function get_export_path_for_file(ArtefactTypeFileBase $file, array $options, $basefolder = null)
{
if (is_null($basefolder)) {
if ($file->get('owner') == $this->owner) {
$basefolder = '/files/file/' . $this->get_folder_path_for_file($file);
} else {
$basefolder = '/files/extra/';
}
}
unset($options['view']);
$prefix = '';
$title = PluginExportHtml::sanitise_path($file->get('title'));
if ($options) {
list($size, $prefix) = $this->get_size_from_options($options);
$from = $file->get_path($size);
$to = $basefolder . $file->get('id') . '-' . $prefix . $title;
$this->htmlexportcopyproxy->add($from, $to);
} else {
if ($basefolder == '/files/extra/') {
$title = $file->get('id') . '-' . $title;
}
$to = $basefolder . $title;
}
return $this->basepath . $to;
}
示例5: explode
// Set tags
try {
$tags = explode(",", param_variable('tags'));
} catch (ParameterException $e) {
}
// -- Now check for files to upload --
$artefact_id = '';
// our resulting artefact id on creation
if ($_FILES) {
$file_title = $title;
if ($blog || !$title) {
// set the filename to be the title of the artefact
$file_title = basename($_FILES['userfile']['name']);
}
try {
$data->title = ArtefactTypeFileBase::get_new_file_title($file_title, $data->parent, $data->owner);
if (!$blog) {
// only set a description if it's an artefact upload
$data->description = $description;
}
$data->tags = $tags;
$artefact_id = ArtefactTypeFile::save_uploaded_file('userfile', $data);
if ($artefact_id) {
$json['id'] = $artefact_id;
}
} catch (QuotaExceededException $e) {
jsonreply(array('fail' => 'Quota exceeded'));
} catch (UploadException $e) {
jsonreply(array('fail' => 'Failed to save file'));
}
}
示例6: pieform_element_filebrowser_update
function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
global $USER;
$collide = !empty($data['collide']) ? $data['collide'] : 'fail';
$artefact = artefact_instance_from_id($data['artefact']);
if (!$USER->can_edit_artefact($artefact)) {
return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
}
if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
if ($existingid != $data['artefact']) {
if ($collide == 'replace') {
log_debug('deleting ' . $existingid);
$copy = artefact_instance_from_id($existingid);
$copy->delete();
} else {
return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
}
}
}
$artefact->set('title', $data['title']);
$artefact->set('description', $data['description']);
$artefact->set('tags', preg_split("/\\s*,\\s*/", trim($data['tags'])));
if ($form->get_property('group') && $data['permissions']) {
$artefact->set('rolepermissions', $data['permissions']);
}
$artefact->commit();
return array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent')));
}
示例7: pieform_element_filebrowser_update
function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
global $USER;
$collide = !empty($data['collide']) ? $data['collide'] : 'fail';
try {
$artefact = artefact_instance_from_id($data['artefact']);
} catch (ArtefactNotFoundException $e) {
$parentfolder = $element['folder'] ? $element['folder'] : null;
$result = array('error' => true, 'message' => get_string('editingfailed', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $parentfolder));
return $result;
}
if (!$USER->can_edit_artefact($artefact) || $artefact->get('locked')) {
return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
}
if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
if ($existingid != $data['artefact']) {
if ($collide == 'replace') {
log_debug('deleting ' . $existingid);
$copy = artefact_instance_from_id($existingid);
$copy->delete();
} else {
return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
}
}
}
$artefact->set('title', trim($data['title']));
$artefact->set('description', $data['description']);
$artefact->set('allowcomments', (int) $data['allowcomments']);
$oldtags = $artefact->get('tags');
$newtags = preg_split("/\\s*,\\s*/", trim($data['tags']));
$updatetags = $oldtags != $newtags;
if ($updatetags) {
$artefact->set('tags', $newtags);
}
if (get_config('licensemetadata')) {
foreach (array('license', 'licensor', 'licensorurl') as $licensef) {
if ($data[$licensef] !== null) {
$data[$licensef] = trim($data[$licensef]);
if ($artefact->get($licensef) !== $data[$licensef]) {
$artefact->set($licensef, $data[$licensef]);
}
}
}
}
if ($form->get_property('group') && $data['permissions']) {
$artefact->set('rolepermissions', $data['permissions']);
}
$artefact->commit();
$prefix = $form->get_name() . '_' . $element['name'];
$newtabdata = isset($element['tabs']) ? pieform_element_filebrowser_configure_tabs($element['tabs'], $prefix) : null;
$group = null;
$institution = null;
$user = null;
if (!empty($element['tabs'])) {
$newtabdata = pieform_element_filebrowser_configure_tabs($element['tabs'], $prefix);
if ($newtabdata['owner'] == 'site') {
$institution = 'mahara';
} else {
if ($newtabdata['owner'] == 'institution') {
$institution = $newtabdata['ownerid'];
} else {
if ($newtabdata['owner'] == 'group') {
$group = $newtabdata['ownerid'];
} else {
if ($newtabdata['owner'] == 'user') {
$user = true;
}
}
}
}
}
$returndata = array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent'), null, $user, $group, $institution));
if ($updatetags && $form->submitted_by_js()) {
$smarty = smarty_core();
$tagdata = tags_sideblock();
$smarty->assign('sbdata', $tagdata);
$returndata['tagblockhtml'] = $smarty->fetch('sideblocks/tags.tpl');
}
return $returndata;
}
示例8: get_data
protected static function get_data($groupid)
{
global $USER;
if (!defined('GROUP')) {
define('GROUP', $groupid);
}
// get the currently requested group
$group = group_current_group();
$group->ctime = strftime(get_string('strftimedate'), $group->ctime);
// if the user isn't logged in an the group isn't public don't show anything
if (!is_logged_in() && !$group->public) {
throw new AccessDeniedException();
}
// find the group administrators
$group->admins = get_column_sql("SELECT \"member\"\n FROM {group_member}\n WHERE \"group\" = ?\n AND \"role\" = 'admin'", array($group->id));
$role = group_user_access($group->id);
$group->role = $role;
// logged in user can do stuff
if (is_logged_in()) {
$afterjoin = param_variable('next', 'view');
if ($role) {
if ($role == 'admin') {
$group->membershiptype = 'admin';
$group->requests = count_records('group_member_request', 'group', $group->id);
} else {
$group->membershiptype = 'member';
}
$group->canleave = group_user_can_leave($group->id);
} else {
if ($group->jointype == 'invite' and $invite = get_record('group_member_invite', 'group', $group->id, 'member', $USER->get('id'))) {
$group->membershiptype = 'invite';
$group->invite = group_get_accept_form('invite', $group->id, $afterjoin);
} else {
if ($group->jointype == 'request' and $request = get_record('group_member_request', 'group', $group->id, 'member', $USER->get('id'))) {
$group->membershiptype = 'request';
} else {
if ($group->jointype == 'open') {
$group->groupjoin = group_get_join_form('joingroup', $group->id, $afterjoin);
}
}
}
}
}
$group->settingsdescription = group_display_settings($group);
if (get_config('allowgroupcategories')) {
$group->categorytitle = $group->category ? get_field('group_category', 'title', 'id', $group->category) : '';
}
$filecounts = ArtefactTypeFileBase::count_user_files(null, $group->id, null);
return array('group' => $group, 'filecounts' => $filecounts);
}
示例9: filebrowser_element
public static function filebrowser_element(&$instance, $default = array())
{
$element = ArtefactTypeFileBase::blockconfig_filebrowser_element($instance, $default);
$element['title'] = get_string('file', 'artefact.file');
$element['name'] = 'artefactid';
$element['config']['upload'] = false;
$element['config']['selectone'] = true;
$element['config']['selectmodal'] = true;
$element['config']['selectfolders'] = true;
$element['filters'] = array('artefacttype' => array('folder'));
return $element;
}
示例10: request_user_authorise
//.........这里部分代码省略.........
}
// See if we need to create/update a profile Icon image
if ($create || $update) {
$client->set_method('auth/mnet/auth.php/fetch_user_image')->add_param($remoteuser->username)->send($remotewwwroot);
$imageobject = (object) $client->response;
$u = preg_replace('/[^A-Za-z0-9 ]/', '', $user->username);
$filename = get_config('dataroot') . 'temp/mpi_' . intval($this->instanceid) . '_' . $u;
if (array_key_exists('f1', $client->response)) {
$imagecontents = base64_decode($client->response['f1']);
if (file_put_contents($filename, $imagecontents)) {
$imageexists = false;
$icons = false;
if ($update) {
$newchecksum = sha1_file($filename);
$icons = get_records_select_array('artefact', 'artefacttype = \'profileicon\' AND owner = ? ', array($user->id), '', 'id');
if (false != $icons) {
foreach ($icons as $icon) {
$iconfile = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $icon->id % 256 . '/' . $icon->id;
$checksum = sha1_file($iconfile);
if ($newchecksum == $checksum) {
$imageexists = true;
unlink($filename);
break;
}
}
}
}
if (false == $imageexists) {
$filesize = filesize($filename);
if (!$user->quota_allowed($filesize)) {
$error = get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'));
}
require_once 'file.php';
$imagesize = getimagesize($filename);
if (!$imagesize || !is_image_type($imagesize[2])) {
$error = get_string('filenotimage');
}
$mime = $imagesize['mime'];
$width = $imagesize[0];
$height = $imagesize[1];
$imagemaxwidth = get_config('imagemaxwidth');
$imagemaxheight = get_config('imagemaxheight');
if ($width > $imagemaxwidth || $height > $imagemaxheight) {
$error = get_string('profileiconimagetoobig', 'artefact.file', $width, $height, $imagemaxwidth, $imagemaxheight);
}
try {
$user->quota_add($filesize);
} catch (QuotaException $qe) {
$error = get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'));
}
require_once get_config('docroot') . '/artefact/lib.php';
require_once get_config('docroot') . '/artefact/file/lib.php';
// Entry in artefact table
$artefact = new ArtefactTypeProfileIcon();
$artefact->set('owner', $user->id);
$artefact->set('parent', ArtefactTypeFolder::get_folder_id(get_string('imagesdir', 'artefact.file'), get_string('imagesdirdesc', 'artefact.file'), null, true, $user->id));
$artefact->set('title', ArtefactTypeFileBase::get_new_file_title(get_string('profileicon', 'artefact.file'), (int) $artefact->get('parent'), $user->id));
// unique title
$artefact->set('description', get_string('uploadedprofileicon', 'artefact.file'));
$artefact->set('note', get_string('profileicon', 'artefact.file'));
$artefact->set('size', $filesize);
$artefact->set('filetype', $mime);
$artefact->set('width', $width);
$artefact->set('height', $height);
$artefact->commit();
$id = $artefact->get('id');
// Move the file into the correct place.
$directory = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $id % 256 . '/';
check_dir_exists($directory);
rename($filename, $directory . $id);
if ($create || empty($icons)) {
$user->profileicon = $id;
}
}
$user->commit();
} else {
log_warn(get_string('cantcreatetempprofileiconfile', 'artefact.file', $filename));
}
}
if ($update) {
$locked[] = 'profileicon';
}
}
/*******************************************/
// We know who our user is now. Bring her back to life.
$USER->reanimate($user->id, $this->instanceid);
// Set session variables to let the application know this session was
// initiated by MNET. Don't forget that users could initiate their
// sessions without MNET sometimes, which is why this data is stored in
// the session object.
$SESSION->set('mnetuser', $user->id);
$SESSION->set('authinstance', $this->instanceid);
if (isset($_SERVER['HTTP_REFERER'])) {
$SESSION->set('mnetuserfrom', $_SERVER['HTTP_REFERER']);
}
if ($update && isset($locked)) {
$SESSION->set('lockedfields', $locked);
}
return true;
}
示例11: group_get_accept_form
} else {
if ($group->jointype == 'invite' and $invite = get_record('group_member_invite', 'group', $group->id, 'member', $USER->get('id'))) {
$group->membershiptype = 'invite';
$group->invite = group_get_accept_form('invite', $group->id, $afterjoin);
} else {
if ($group->jointype == 'request' and $request = get_record('group_member_request', 'group', $group->id, 'member', $USER->get('id'))) {
$group->membershiptype = 'request';
} else {
if ($group->jointype == 'open') {
$group->groupjoin = group_get_join_form('joingroup', $group->id, $afterjoin);
}
}
}
}
}
$filecounts = ArtefactTypeFileBase::count_user_files(null, $group->id, null);
// Latest forums posts
// NOTE: it would be nicer if there was some generic way to get information
// from any installed interaction. But the only interaction plugin is forum,
// and group info pages might be replaced with views anyway...
$foruminfo = null;
if ($role || $group->public) {
$foruminfo = get_records_sql_array('
SELECT
p.id, p.subject, p.body, p.poster, p.topic, t.forum, pt.subject AS topicname
FROM
{interaction_forum_post} p
INNER JOIN {interaction_forum_topic} t ON (t.id = p.topic)
INNER JOIN {interaction_instance} i ON (i.id = t.forum)
INNER JOIN {interaction_forum_post} pt ON (pt.topic = p.topic AND pt.parent IS NULL)
WHERE
示例12: artefactchooser_get_element_data
/**
* Optional method. If specified, allows the blocktype class to munge the
* artefactchooser element data before it's templated
*/
public static function artefactchooser_get_element_data($artefact)
{
return ArtefactTypeFileBase::artefactchooser_get_file_data($artefact);
}
示例13: add_feedback_form_submit
function add_feedback_form_submit(Pieform $form, $values)
{
global $view, $artefact, $USER;
$data = new StdClass();
$data->view = $view->get('id');
if ($artefact) {
$data->artefact = $artefact->get('id');
$table = 'artefact_feedback';
} else {
$table = 'view_feedback';
}
$data->message = $values['message'];
$data->public = (int) $values['ispublic'];
$data->author = $USER->get('id');
if (!$data->author) {
unset($data->author);
$data->authorname = $values['authorname'];
}
$data->ctime = db_format_timestamp(time());
db_begin();
if (is_array($values['attachment'])) {
require_once get_config('libroot') . 'group.php';
require_once get_config('libroot') . 'uploadmanager.php';
safe_require('artefact', 'file');
$groupid = $view->get('submittedgroup');
if (group_user_can_assess_submitted_views($groupid, $USER->get('id'))) {
$um = new upload_manager('attachment');
if ($error = $um->preprocess_file()) {
throw new UploadException($error);
}
$owner = $view->get('owner');
$ownerlang = get_user_language($owner);
$folderid = ArtefactTypeFolder::get_folder_id(get_string_from_language($ownerlang, 'feedbackattachdirname', 'view'), get_string_from_language($ownerlang, 'feedbackattachdirdesc', 'view'), null, true, $owner);
$attachment = (object) array('owner' => $owner, 'parent' => $folderid, 'title' => ArtefactTypeFileBase::get_new_file_title($values['attachment']['name'], $folderid, $owner), 'size' => $values['attachment']['size'], 'filetype' => $values['attachment']['type'], 'oldextensin' => $um->original_filename_extension(), 'description' => get_string_from_language($ownerlang, 'feedbackonviewbytutorofgroup', 'view', $view->get('title'), display_name($USER), get_field('group', 'name', 'id', $groupid)));
try {
$data->attachment = ArtefactTypeFile::save_uploaded_file('attachment', $attachment);
} catch (QuotaExceededException $e) {
}
}
}
insert_record($table, $data, 'id', true);
require_once 'activity.php';
unset($data->id);
activity_occurred('feedback', $data);
db_commit();
if ($artefact) {
$goto = get_config('wwwroot') . 'view/artefact.php?artefact=' . $artefact->get('id') . '&view=' . $view->get('id');
} else {
$goto = get_config('wwwroot') . 'view/view.php?id=' . $view->get('id');
}
$form->reply(PIEFORM_OK, array('message' => get_string('feedbacksubmitted', 'view'), 'goto' => $goto));
}
示例14: pieform_element_filebrowser_update
function pieform_element_filebrowser_update(Pieform $form, $element, $data)
{
global $USER;
$collide = !empty($data['collide']) ? $data['collide'] : 'fail';
try {
$artefact = artefact_instance_from_id($data['artefact']);
} catch (ArtefactNotFoundException $e) {
$parentfolder = $element['folder'] ? $element['folder'] : null;
$result = array('error' => true, 'message' => get_string('editingfailed', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $parentfolder));
return $result;
}
if (!$USER->can_edit_artefact($artefact) || $artefact->get('locked')) {
return array('error' => true, 'message' => get_string('noeditpermission', 'mahara'));
}
if ($existingid = ArtefactTypeFileBase::file_exists($data['title'], $artefact->get('owner'), $data['folder'], $artefact->get('institution'), $artefact->get('group'))) {
if ($existingid != $data['artefact']) {
if ($collide == 'replace') {
log_debug('deleting ' . $existingid);
$copy = artefact_instance_from_id($existingid);
$copy->delete();
} else {
return array('error' => true, 'message' => get_string('fileexists', 'artefact.file'));
}
}
}
$artefact->set('title', $data['title']);
$artefact->set('description', $data['description']);
$oldtags = $artefact->get('tags');
$newtags = preg_split("/\\s*,\\s*/", trim($data['tags']));
$updatetags = $oldtags != $newtags;
if ($updatetags) {
$artefact->set('tags', $newtags);
}
if ($form->get_property('group') && $data['permissions']) {
$artefact->set('rolepermissions', $data['permissions']);
}
$artefact->commit();
$returndata = array('error' => false, 'message' => get_string('changessaved', 'artefact.file'), 'newlist' => pieform_element_filebrowser_build_filelist($form, $element, $artefact->get('parent')));
if ($updatetags && $form->submitted_by_js()) {
$smarty = smarty_core();
$tagdata = tags_sideblock();
$smarty->assign('sbdata', $tagdata);
$returndata['tagblockhtml'] = $smarty->fetch('sideblocks/tags.tpl');
}
return $returndata;
}
示例15: upload_submit
function upload_submit(Pieform $form, $values)
{
global $USER, $filesize;
safe_require('artefact', 'file');
try {
$USER->quota_add($filesize);
} catch (QuotaException $qe) {
$form->json_reply(PIEFORM_ERR, array('message' => get_string('profileiconuploadexceedsquota', 'artefact.file', get_config('wwwroot'))));
}
// Entry in artefact table
$data = new stdClass();
$data->owner = $USER->id;
$data->parent = ArtefactTypeFolder::get_folder_id(get_string('imagesdir', 'artefact.file'), get_string('imagesdirdesc', 'artefact.file'), null, true, $USER->id);
$data->title = $values['title'] ? $values['title'] : $values['file']['name'];
$data->title = ArtefactTypeFileBase::get_new_file_title($data->title, (int) $data->parent, $USER->id);
// unique title
$data->note = $values['file']['name'];
$data->size = $filesize;
$imageinfo = getimagesize($values['file']['tmp_name']);
$data->width = $imageinfo[0];
$data->height = $imageinfo[1];
$data->filetype = $imageinfo['mime'];
$data->description = get_string('uploadedprofileicon', 'artefact.file');
$artefact = new ArtefactTypeProfileIcon(0, $data);
if (preg_match("/\\.([^\\.]+)\$/", $values['file']['name'], $saved)) {
$artefact->set('oldextension', $saved[1]);
}
$artefact->commit();
$id = $artefact->get('id');
// Move the file into the correct place.
$directory = get_config('dataroot') . 'artefact/file/profileicons/originals/' . $id % 256 . '/';
check_dir_exists($directory);
move_uploaded_file($values['file']['tmp_name'], $directory . $id);
$USER->commit();
$form->json_reply(PIEFORM_OK, get_string('profileiconaddedtoimagesfolder', 'artefact.file', get_string('imagesdir', 'artefact.file')));
}